1. 程式人生 > >java基礎 · 例項(介面抽象類多型的結合)

java基礎 · 例項(介面抽象類多型的結合)

	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();
		}
	}