oop繼承與重寫筆記一

weixin_34115824發表於2017-11-23

父類:


public class Animal {

int age;  //年齡

double height;  //身高

double weight; //體重

Animal()

{

System.out.println("一個動物誕生");

}

Animal(int age,double height,double weight)

{

this.age = age;

this.height = height;

this.weight = weight;

}

//睡覺方法

public void sleep()

{

System.out.println("動物在睡。。。。。");

}


}

子類:

package javas.frist;


//人類

public class Human extends Animal {


Human()

{

System.out.println("一個人誕生");

}

//睡覺方法

@Override  //方法重寫

public void sleep()

{

System.out.println("人類在開始睡覺啦。。。。。");

}

}

//子類魚

public class Fish extends Animal{

  //睡覺方法

public void sleep()

{

System.out.println("開著眼睛在睡覺。。。。。");

}


}


//子類馬

public class Hose  extends Animal {


  //睡覺方法

public void sleep()

{

System.out.println("站者睡覺。。。。。");

}

}

測試類:

package javas.frist;


public class Test {


public static void main(String[] args) {


Human h = new Human();  //new 誰就子類方法就顯示

// Human h = new Human();

 Animal h = new Human();  //多型現象

//Animal h = new Animal();  //多型現象 

System.out.println("年齡:"+h.age);

System.out.println("體重:"+h.weight);

System.out.println("身高:"+h.height);

h.sleep();

Animal  a = new Animal();

a.sleep();


}

/**

* 生存子類物件,先執行父類構造方法,在執行子類構造方法

* 注意:構造方法是不能繼承的。

* java採用單根繼承,都是從object繼承

* 繼承好處:提高程式碼的複用

* 方法重寫:Override /Overwrite,子類重寫了從父類繼承過來的方法

* 方法過載:Overload,方法的名字相同,引數個數,型別,次序不同

* 相同點:都是一種多型性的表現,方法重寫屬於一種動態的多型性,方法過載屬於靜態多型性

* 不同點,方法重寫有繼承,方法過載無繼承。

* 多型三個條件:

*有繼承、有方法重寫、父類引用指向子類物件

*

*

* */


}










本文轉自 知止內明 51CTO部落格,原文連結:http://blog.51cto.com/357712148/1983327,如需轉載請自行聯絡原作者

相關文章