簡體   English   中英

Java抽象類和重寫變量

[英]Java abstract class and overriding variables

我遇到了一個我無法解決的問題。 假設我們有超類A:

public enum Enumeration {
  A, B, C;
}

public abstract Class A {
     private Enumeration e;

     public void someMethod {
           // do something here with 'e'.
     }
}

現在讓我們假設我們有一個B類。

public Class B extends A {
    private final Enumeration = e.A;
}

在這里,我得到一個編譯器警告,該值從未使用過。

我只想在A類中定義方法,因此我必須定義變量。 但我想在變量中給變量一個新的固定值。

這不可能嗎?

字段不能被覆蓋。 如果要將特定的枚舉實例分配給類,請使用構造函數:

public abstract Class A {
     private final Enumeration e;

     protected A (Enumeration e) {
         this.e = e;
     }

     public void someMethod {
           // do something with 'e'.
     }
}

public Class B extends A {
    public B() {
        super(Enumeration.A);
    }
}

暫無
暫無

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

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