java基礎 · 例項(介面抽象類多型的結合)
阿新 • • 發佈:2018-11-11
package v1;
interface Animal{
void shout(); //介面中只宣告方法
void breatch();
void name();
}
abstract class abstractclaaa implements Animal{ private String name; //抽象類是一個類可以有資料 public abstractclaaa(){ //可以有構造方法 name="動物"; //完成物件初始化 } public void name() { //可以有實現的方法,抽象類中只實現了這一個方法 System.out.println("我是:"+name); } public abstract void shout(); //將抽象類作為基類,剩餘的方法交給派生類實現 public abstract void breatch(); //可以宣告方法 }
class Cat extends abstractclaaa{ //派生類具體實現 public Cat(){ super(); //建立物件,調構造,super位於第一句,呼叫基類構造,完成對基類資料的初始化 } @Override //對基類的方法進行重寫,重寫:返回值型別,引數,方法名必須一致,訪問許可權大於等於基類的方法 public void shout() { System.out.println("喵喵喵···"); } @Override public void breatch() { // TODO Auto-generated method stub System.out.println("哈哈哈···"); } }
public class testclass { //測試類
public static void main(String[] args) {
Animal a=new Cat(); //建立物件,建立介面引用去引用派生類物件。也稱為向上轉型
a.shout(); //物件呼叫方法,實現輸出
a.breatch();
a.name();
}
}