「Java」「access level modifier修飾子」 Chapter3 Question5
Given:
Answer:
Meow
Growl
------------------------------------------------------------------
要覆寫繼承的物件方法:
子類別的修飾子不可小於父類別,或相同修飾子。
也就是父類別的修飾子永遠是比子類別更高,或相同修飾子。
另外一種講法:
父類別就是最高機密,子類別的機密比父類別低或相同權限,並以此推類。
另外,假如方法修飾子是private ,將無法被呼叫到
public class Test4 {
public static void main(String[] args) {
Cat[] cats = {new Cat(),new Lion()};
for(Cat c: cats) {
System.out.println(c.bark());
}
}
}
class Cat {
//private String bark() {
//造成System.out.println(c.bark());無法呼叫到此物件方法
//String bark() {
//Lion的String bark物件方法修飾子: default,protected,public
//protected String bark() {
//Lion的STring bark物件方法修飾子: protected public
public String bark() {
//Lion的STring bark物件方法修飾子: public
return "Meow";
}
}
class Lion extends Cat {
public String bark() {
return "Growl";
}
}
Answer:
Meow
Growl
------------------------------------------------------------------
要覆寫繼承的物件方法:
子類別的修飾子不可小於父類別,或相同修飾子。
也就是父類別的修飾子永遠是比子類別更高,或相同修飾子。
另外一種講法:
父類別就是最高機密,子類別的機密比父類別低或相同權限,並以此推類。
另外,假如方法修飾子是private ,將無法被呼叫到

留言
張貼留言