使用初始化的类的变量名

Tob*_*ika 1 java variables initialization class

我想初始化一个类,同时这样做我想使用classvariable.

像这样:

Myclass name = new Myclass(new AnotherClass(name));
Run Code Online (Sandbox Code Playgroud)

它说:本地变量名称可能尚未初始化.
所以我的问题是,是否有办法让AnotherClass知道MyClass所具有的所有功能.

jzd*_*jzd 5

您不能让两个对象都需要彼此构造它们.不仅这不起作用,它是糟糕的设计.

如果你真的需要这样的东西,那就自己创建一个对象:

Myclass name = new Myclass();
Run Code Online (Sandbox Code Playgroud)

然后当你创建AnotherClass时,将它传递给MyClass并让它保存对它的引用.

name.setAnohterClass(new AnotherClass(name));
Run Code Online (Sandbox Code Playgroud)


更好的设计是减少耦合,只让一个人知道另一个.例如:

Myclass name = new Myclass();
AnotherClass another = new AnotherClass(name);
Run Code Online (Sandbox Code Playgroud)