将类的自实例从该类传递到另一个类java
如何将我所在的类的实例传递给另一个类?我想做的不是工作,一定有更好的方法将类的自实例从该类传递到另一个类java,java,class,parameter-passing,instance,Java,Class,Parameter Passing,Instance,如何将我所在的类的实例传递给另一个类?我想做的不是工作,一定有更好的方法 public class MainExample{ // constructor public MainExample(){ } public static void main(String[] args) { MainExample mainCl = // how to get instance of this class? NextCl
public class MainExample{
// constructor
public MainExample(){
}
public static void main(String[] args) {
MainExample mainCl = // how to get instance of this class?
NextClass nextCl = new NextClass(mainCl); // not working, what to pass?
}
}
public class NextClass {
MainExample mainEx;
// constructor
public NextClass(MainExample me){
mainEx = me;
}
}
>
原因是我必须将MainExample类的当前实例传递给NextClass,以便将观察者附加到可观察对象。使用观察者模式。NextClass将启动多个线程,每个套接字连接一个线程。多个客户端。所以我不得不
observable <-- (class instance of class that extends observable class)
obsever <-- (class instance of class implementing observer)
using the addObserver method;
observable.addObserver(observer)
observable如下:maincample mainCl=newmaincample()代码>
您的NextClass
构造函数需要一个main示例
引用
行NextClass-nextCl=newnextclass(mainCl)
现在应该编译。在main
方法中,在创建一个MainClass
实例之前,没有MainClass的实例,因为它是一个静态方法
在实例方法中,您可以使用this
,但在您的情况下,您只需先创建main示例的实例即可:
MainExample mainCl = new MainExample();
NextClass nextCl = new NextClass(mainCl);
在实例方法中,您可以执行以下操作:
public NextClass createNextClass() {
return new NextClass(this);
}
我希望当你指的是MainClass
时,你指的是classmain示例
如果是这样的话
JVM不能隐式地提供实例,必须显式地创建一个实例
MainExample mainCl = new MainExample();
NextClass nextCl = new NextClass(mainCl);
什么是头等舱?MainExample?为什么不能用构造函数创建MainExample
的实例?会出现哪个错误?在MainExample类中定义NextClass类有什么特殊原因吗?使用此运算符获取自己类的实例…在我的问题中键入错误,这都是MainExample,MainClass未用作名称