Java中同一个类的两个实例对象之间可以通信吗?也就是互相访问?有什么手段?

例如有一个类A,A有两个实例对象a1、a2,问a1可以访问到a2的成员变量或调用a2的成员方法吗?

同一个类的两个对象的话,可以使用单例模式,其实单例模式只会创建一个实例,只不多你在new的时候,它会将你的引用指向同一个对象,所以当你有多个引用a1,a2的时候,当a2发生的变更,a1的内容也同步变更,因为它们指向的是同一个实例,这样不知道能否满足你的需求

可以通过以下的情况
1.组合
也就是说一个类持有另一类的引用。

class A{
    private final int demoA;
    private final B b;

    public A(int demoA, B b) {
      this.demoA = demoA;
      this.b = b;
      
      this.b.demoB = 1;
    }
  }
  
  
  class B {
    private int demoB;

    public B(int demoB) {
      this.demoB = demoB;
    }
  }
  1. 继承
    通过继承的方式,实现子类调用父类的参数与方法
 class A extends B{
    private final int demoA;

    public A(int demoA, int demoB) {
      super(demoB);
      this.demoA = demoA;
      
      this.demoB = demoB;
    }
  }


  class B {
    protected int demoB;

    public B(int demoB) {
      this.demoB = demoB;
    }
  }

3.通过传参
将实例化的对象通过传参的方式进行调用

 class A {
    private final int demoA;

    public A(int demoA) {
      this.demoA = demoA;
    }
    public void detail(B b){
      b.demoB = 1;
    }
  }


  class B {
    protected int demoB;

    public B(int demoB) {
      this.demoB = demoB;
    }
  }

成员方法之所以叫成员方法,就是因为它要通过成员去访问
你在a2里为什么要去访问a1的成员方法呢,什么目的呢
如果一个方法跟类A的实例无关,那你就应该拿出来变成一个公共方法,而不要放进类里

你的场景是怎样的呢,需要用同一个类,不同的实例去相互访问