如何从java中的抽象类的子类访问已实例化的对象?

Tom*_*son 0 java abstract-class class subclass instance

我希望能够访问从抽象类的子类实例化的对象.这是一个例子.

// A.java
public abstract class A {
  public int getNewNo() {
    int newNo = <Instance of B in this example here>.getNo() + 2;
    return newNo;
  }
}

// B.java
public class B extends A {
  public int getNo() {
    return 2;
  }
}

// C.java
public class C {
  public C(A a) {
    System.out.println("The number is "+a.getNewNo());
  }
}

// example.java
public void main(String args[]) {
  B b = new B();
  C c = new C(b);
  // should now print out "The number is 4"
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?

谢谢.

sje*_*397 5

尝试:

// A.java
public abstract class A {
  public abstract int getNo();

  public int getNewNo() {
    int newNo = getNo() + 2;
    return newNo;
  }
}
Run Code Online (Sandbox Code Playgroud)