多型
1.什么是多型呢? 即同一種方法可以根據發送物件的不同而采用多種不同的行為方式,
2.一個方法的實際型別是確實的,但可以指向物件的參考型別有很多種,
多型存在的條件:
1.存在繼承關系
2.子類重寫父類的方法
3.父類參考指向子類物件
1.父類
//創建一個簡單父類
public class Person {
public void text(){
System.out.println("person");
}
}
2.子類
//創建簡單子類
public class Student extends Person{
@Override
public void text() {
System.out.println("son");//方法的重寫
}
//創建子類獨有的函式
public void eat(){
System.out.println("eat");
}
}
3.main函式
public static void main(String[] args) {
//Student 子類能呼叫的方法都是自身的方法或者父類的方法
Student s1 = new Student();
//Person 父類能指向子類,但不能呼叫子類獨有的方法
Person s2 = new Student();//父類的參考指向子類
Object s3 = new Student();//Object是類里面級別最高的類
s1.text();
s2.text();//子類重寫父類的方法,執行子類的方法
s1.eat();
//父類不能參考子類獨有的方法
((Student)s2).eat();//型別轉換,如果沒有進行型別轉換則會報錯
}
運行結果:

總結多型的注意事項
1.多型是方法的多型,屬性沒有多型
2.父類和子類,有關系,型別轉換例外!ClassCastException
3.存在條件:繼承關系,方法需要重寫,父類參考指向子類物件!
不能被重寫的例子
4.static方法,屬于類,不屬于實體,
5.final 常量
6.private方法
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/272227.html
標籤:java
上一篇:Spring5-idea版學習
下一篇:java運算子詳解
