我一直在研究在自己的定义中创建类实例的主题。像这样:
public class myClass
{
public static myClass aObject = new myClass();
public static myClass bObject = new myClass();
}
我很了解这是怎么可能的,但我很困惑为什么它会有用。
另外,我的逻辑说应该可以这样做:
aObject.bObject.someMethod();
aObject是myClass的一个实例,所以它应该包含bObject,对吗?我觉得我错过了对课程如何运作的基本理解,所以我真的想知道这里发生了什么,以及为什么有人想要这样做。
答案 0 :(得分:0)
aObject.bObject.someMethod()
肯定会有效。至于为什么会这样做,我将给出一个在java中使用的例子。
假设您有一个名为Color的类来表示颜色。您可以使用构造函数Color(byte r, byte g, byte b)
创建其RGB值的新颜色。 Color类中还有常量表示常用颜色,如红色或绿色或粉红色。只需说Color.PINK即可快速访问粉红色,因为PINK是Color类中的Color变量。这样,每次要在方法中使用粉红色时,都不必构造新的颜色对象。
答案 1 :(得分:0)
aObject.bObject.someMethod();
这就像说“对象的对象b ......做某事”。所以就像一个球(叫做A)里面有一个球(叫做B),里面有一个球(叫做C)......等等。
链接列表就是这样的列表:
class Link {
public long data; // data item
public Link next; // next link in list
// =============================================================
public Link(long value){ // constructor
data = value; // assign parameter to data's data field
}
}
Link内部有一个指向另一个链接的指针,该链接执行相同的操作,直到你创建一个空对象。
我认为这就是你要问的......