另一个类中使用的Java对象和类

时间:2015-07-31 13:42:50

标签: java python

使用Python移植Java项目时遇到了一些麻烦。基本上我不明白的是,第4行是什么。骰子是在其他地方定义的类。我更确定它不会从Dice类创建对象或实例。它只是为以后的创作分配内存吗?我真的不知道。

有问题的代码:

1 public class Move {
2
3  // the dice used for this move
4  protected Dice dice;
5  // the set of movements used to perform this move, in this order
6  protected Movement[] movements;
7  .....}

P.S:stackoverflow拥有如此优秀的社区!到目前为止,我所有的问题都可以通过查看来解决。但现在我迷失了,不得不最终创建一个帐户;)

3 个答案:

答案 0 :(得分:4)

此语句声明了一个类成员。类成员对于本地对象/变量是不同的,因为它们可以从整个类访问。在这种情况下,它定义了一个名为Dice的{​​{1}}类型的受保护对象。

该语句实际上并不创建dice对象;它只是表明它存在。如果要使用它,可以在方法中实例化它。例如:

Dice

答案 1 :(得分:1)

是的,它只是将Dice对象的内存分配为类Move的受保护属性。

编辑:在没有明确分配对象之前,它不是真正的内存分配。它更可能定义关系:Move对象由受保护的Dice对象组成。

答案 2 :(得分:1)

对于protected Dice dice;,它就像是占位符的声明。它只是一个定义。你说:这是我的课程,我可能会在那里放一个Dice实例,名为' dice'。

protected Movement[] movements;

也是如此

在引擎盖下,它定义了一个包含指针的变量。该指针最终将包含一个包含对象实例的值(内存位置)(如Dice对象)