方法的覆寫 類和父類有相同的方法,那麼類中方法的訪問許可權不能比父類中對應方法的訪問許可權嚴格,這就叫方法的覆寫,一般稱之為類覆寫了父類中的某個方法 覆寫方法的作用:對於一個類,向上轉換後(把類的實例化對象賦值給類的父類的對象),通過該父類的對象直接訪問該父類的對象的本類部分中被類所覆寫的方法時,將自動 ...
方法的覆寫
-
類和父類有相同的方法,那麼類中方法的訪問許可權不能比父類中對應方法的訪問許可權嚴格,這就叫方法的覆寫,一般稱之為類覆寫了父類中的某個方法
-
覆寫方法的作用:對於一個類,向上轉換後(把類的實例化對象賦值給類的父類的對象),通過該父類的對象直接訪問該父類的對象的本類部分中被類所覆寫的方法時,將自動訪問跳轉到類中對應的覆寫的方法
- static方法的覆寫不起覆寫作用,原因現階段只能解釋為Java就是這樣設計的
package test1;
public class Test1 {
public static void main(String[] args){
Person per=new Student();
per.funx();
}
}
class Person{
private void fun(){
System.out.println("Person的fun方法");
}
public void funx(){
this.fun();
}
}
class Student extends Person{
private static void fun(){
System.out.println("Student的fun方法");
}
}
輸出結果為: Person的fun方法
- private方法的覆寫不起覆寫作用,因為private方法都是通過間接訪問的
package test1;
public class Test1 {
public static void main(String[] args){
Person per=new Student();
per.funx();
}
}
class Person{
private void fun(){
System.out.println("Person的fun方法");
}
public void funx(){
this.fun();
}
}
class Student extends Person{
private static void fun(){
System.out.println("Student的fun方法");
}
}
輸出結果為: Person的fun方法