1. 程式人生 > 資訊 >壹號本工程師 PC 運維迷你電腦正式釋出: 7 英寸大小,介面豐富

壹號本工程師 PC 運維迷你電腦正式釋出: 7 英寸大小,介面豐富

多型

  • 動態編譯:型別

  • 即同一個方法可以根據傳送物件的不同而採用多種不同的行為方式

  • 一個物件的實際型別是確定的,但是可以指向物件的引用的型別有很多

多型存在的條件

  1. 有繼承關係
  2. 子類重寫父類方法
  3. 父類引用指向子類物件

注意

多型是方法的多型,屬性沒有多型性

package duotai;

import duotai.Person;

public class Student extends Person {
    public void run(){
        System.out.println("son run");
    }
    public void eat(){
        System.out.println("eat");
    }
}

package duotai;

public class Person {
    public void run(){
        System.out.println("run");
    }
}

package duotai;

public class Application {
    public static void main(String[] args) {
        //一個物件的實際型別是確定的
        //可以指向的引用型別是不確定的


        //student能呼叫的方法都是自己的或者繼承的
        Student s1 = new Student();
        //person是父類,可以指向子類,但不能呼叫子類獨有的方法
        Person s2 = new Student();
        Object s3 = new Student();
        s2.run();
        s1.run();
        //無法呼叫eat   s2.eat();
        //物件能執行哪些方法主要看物件左邊的型別
    }
}