1. 抽象類本身不能被例項化,可以沒有抽象方法
2. 父類與介面有相同的方法時,不會產生衝突,因為只會有乙份方法的實現
3, 將fight介面的canfight方法返回值改為int,此時編譯報錯
a)錯誤:the return types are incompatible for the inherited methods fight.canfight(), super.canfight()
package com.yjq.cn.inte***ce
public abstract class abstracttest
//無法被呼叫
public void f1()
public static void main(string args)
}inte***ce fly
inte***ce swim
inte***ce fight
class super
}class realsuper extends super implements fly, swim, fight
@override
public void canswim()
}
//output
抽象類,應用於不需要產生例項場景:11
---------------
realsuper.canflay()
super.fight()
super.fight()
多型 抽象類 介面
抽象類介面 什麼是多型?同乙個物件,在不同時刻表現出來的不同形態 1.有繼承 實現的前提 2.有方法的重寫 3.有父類引用指向子類物件 例 animal a new cat 成員變數訪問 父類中有的屬性,才能正常編譯 編譯看左邊 如子類也有相同屬性,訪問執行出來的是父類中的屬性值 成員方法訪問 父類...
多型 抽象類 介面
同一物件,在不同時刻表現出來的不同形態 多型的前提和實現 有繼承 實現關係 有方法重寫 有父類引用指向子類物件 多型中成員訪問特點 成員變數 編譯看左邊,執行看左邊 成員方法 便宜看左邊,執行看右邊 為什麼成員方法和成員變數的訪問不一樣呢?因為成員方法有重寫,而成員變數沒有 多型的好處和弊端 好處 ...
多型 抽象類 介面
1.多型的使用方式 父類引用指向子類物件 同一型別的物件引用指向了不同型別的子類物件,具體方法的實現不同 呼叫的方法需要是子類和父類都有的,但是執行的是子類的,就是執行醫生類覆蓋的 重寫的 eat方法 也就是所謂的 編譯看左邊,執行看右邊!能夠呼叫什麼方法,取決於引用的型別,而方法中具體怎麼執行,要...