0
我是Java編程的初學者,所以我無法測試protected abstract method
的範圍。JAVA:我如何檢查「受保護的抽象方法」的範圍?
要檢查protected method
我測試此代碼:
package A;
public class NewClassA {
protected String a(){ return "a"; }
}
// Main
NewClassA a = new NewClassA();
String str = a.a(); // works fine
//New Package
package B;
import A.NewClassA;
public class NewClassB {
NewClassA x = new NewClassA();
String str = x.a(); // Error convert to a() to public
}
什麼你的意思做 「檢查受保護的抽象方法的範圍」?正如我在代碼中看到的那樣,一切都按照它的原理工作。您將''NewClassA :: a''方法標記爲受保護的,因此只能在同一個包中使用它的子類和類。 'NewClassB'類是不同的包,所以它不能調用''x.a()''。 – Kamil
好吧這受保護的方法,我可以檢查,如果我做同樣的抽象方法,它會迫使我重寫方法,如果我重寫我可以在新的包中讀取沒有例外,所以在這種情況下,他們沒有區別公共和保護@Kamil –