1. 程式人生 > >oop繼承與重寫筆記一

oop繼承與重寫筆記一

oop繼承與重寫筆記一

父類:


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,方法的名字相同,參數個數,類型,次序不同

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

*

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

*

* 多態三個條件:

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

*

*

*

* */


}


oop繼承與重寫筆記一