将类的自实例从该类传递到另一个类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
时,你指的是class
main示例

如果是这样的话 JVM不能隐式地提供实例,必须显式地创建一个实例

MainExample mainCl = new MainExample();
NextClass nextCl = new NextClass(mainCl);

什么是头等舱?MainExample?为什么不能用构造函数创建
MainExample
的实例?会出现哪个错误?在MainExample类中定义NextClass类有什么特殊原因吗?使用此运算符获取自己类的实例…在我的问题中键入错误,这都是MainExample,MainClass未用作名称