函數的複寫

class Person{

   String name;

   int age;

   void introduce(){

   System.out.println(" 我的名字是 "+ name + " , 我的年齡是" + age);

   }

}

---------


/*從子類這個introduce看它的定義方法跟父類的introduce的定義方法是一樣的

void返回值類型都是空,函數名名都是introduce 參數列表也都是空 只是方法體不太一樣

這就是複寫 或者覆蓋 或者叫重寫


複寫(override)也被稱之爲覆蓋或者重寫

1、在具有父子關係的兩個類當中

2、父類和子類當中各有一個函數,這兩個函數的定義(返回值類型,函數名和參數列表)完全相同

*/

class Student extends Person{

   String address;

   void introduce(){

   //消除第一行冗餘代碼 使用super 調用introduce 即 super.introduce();

   System.out.println("我的姓名是" + name + "我的年齡是" + age );

   //super.introduce();

   System.out.println("我的家在" + address);

   }

}

---------


class Test{

   public static void main (String args[]){

   Student s = new Student();

   s.name = "張三";

   s.age = 20;

   s.address = "北京";

   s.introduce();


   Person p = new Person();

   p.name = "李四";

   p.age = 120;

   p.introduce();

   }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章