java 多型知識點2

公子Learningcarer發表於2024-06-29
public class demo0629 {
    public static void main(String[] args){
        Persons p = new Student();//向上轉型
        p.eat();
        Student s = (Student) p;//向下轉型
        s.eat();
        s.play();
    }
}
/*
    多型的弊端
        父類引用不能使用子類中特有的內容

        怎麼解決?
            向下轉型來解決這個問題
            向上轉型
                FU fu = new Zi()
            向下轉型
                 Student s = (Student) p;
            注意:向下專項轉不好容易出現異常,ClassCastException型別轉化錯誤
                類似:
 */
class Persons{
    public void eat(){
        System.out.println("吃飯");
    }
}
class Student extends Persons{
    public void eat(){
        System.out.println("吃肉");
    }
    public void play(){
        System.out.println("玩遊戲");
    }
}
class Teacher extends Persons{
    public void eat(){
        System.out.println("吃菜");
    }
    public void teach(){
        System.out.println("教遊戲");
    }
}

相關文章