簡體   English   中英

如何訪問從Java中抽象類的子類實例化的對象?

[英]How do I access the object that's been instantiated from the abstract class's subclass in java?

我希望能夠訪問從抽象類的子類實例化的對象。 這是一個例子。

// 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"
}

這可能嗎?

謝謝。

嘗試:

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

  public int getNewNo() {
    int newNo = getNo() + 2;
    return newNo;
  }
}
public abstract class A {
    public int getNewNo() {
        int newNo = getNo() + 2;
        return newNo;
    }

    abstract int getNo();
}

會做的工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM