1. 程式人生 > >JAVA課程學習十:繼承訓練

JAVA課程學習十:繼承訓練

練習知識1:子類的繼承性

練習知識2:方法的繼承與重寫

編寫程式模擬中國人,美國人是人,北京人是中國人

package iceyung;
/**
 * @description 父類
 * @author iceyung
 *
 */
public class People {

    protected double weight;
    protected double height;

    public void speakHello(){
        System.out.println("yayaya");
    }

    public void averageHeight
(){ height = 173; System.out.println("average height :"+height); } public void averageWeight(){ weight = 70; System.out.println("average weight :"+weight); } }
package iceyung;
/**
 * @description 中國人,繼承父類
 * @author iceyung
 *
 */
public class ChinaPeople
extends People{
/** * 重寫父類的speakHello方法 */ @Override public void speakHello() { System.out.println("你好"); } /** * 重寫 */ @Override public void averageHeight() { height = 168; System.out.println("中國人的平均身高為:"+ height); } /** * 重寫 */
@Override public void averageWeight() { weight = 65; System.out.println("中國人的平均體重為:"+ weight); } /** * 給子類新增新的特性 */ public void chinaGongfu(){ System.out.println("中國功夫!"); } }
package iceyung;

/**
 * @description 美國人,繼承父類
 * @author iceyung
 *
 */
public class AmericanPeople extends People{

    /**
     * 重寫父類的speakHello方法
     */
    @Override
    public void speakHello() {
        System.out.println("How do you do ");
    }

    /**
     * 重寫
     */
    @Override
    public void averageHeight() {
        height = 176;
        System.out.println("American's average height:"+ height);
    }

    /**
     * 重寫
     */
    @Override
    public void averageWeight() {
        weight = 75;
        System.out.println("American's average weight:"+ weight);
    }

    /**
     * 給子類新增新的特性
     */
    public void americanBoxing(){
        System.out.println("americanBoxing!");
    }
}
package iceyung;
/**
 * @description 北京人,中國人的子類
 * @author iceyung
 *
 */
public class BeijingPeople extends ChinaPeople{

    /**
     * 重寫
     */
    @Override
    public void averageHeight() {
        height = 172.5;
        System.out.println("北京人的平均身高為:"+height);
    }
    /**
     * 重寫
     */
    @Override
    public void averageWeight() {
        weight = 70;
        System.out.println("北京人的平均體重為:"+weight);
    }
    /**
     * 新增新特性
     */
    public void beijingOpera(){
        System.out.println("京劇!");
    }

}

練習知識3:掌握重寫的意義以及怎樣使用super關鍵字

package iceyung;
/**
 * @description 中國人,繼承父類
 * @author iceyung
 *
 */
public class ChinaPeople extends People{

    /**
     * 重寫父類的speakHello方法,重寫是為了重新賦予該方法子類的實現
     */
    @Override
    public void speakHello() {
        System.out.println("你好");
    }

    /**
     * 重寫,super關鍵字用來使用父類的引數或者方法,呼叫模式如下
     */
    @Override
    public void averageHeight() {
        height = 168;
        System.out.println("中國人的平均身高為:"+ height);

        System.out.println("people 的標準身高是:" + super.height);
        System.out.print("people 的sayHello:" );
        super.speakHello();
    }

    /**
     * 重寫
     */
    @Override
    public void averageWeight() {
        weight = 65;
        System.out.println("中國人的平均體重為:"+ weight);
        System.out.println("people 的標準體重是:" + super.weight);
    }

    /**
     * 給子類新增新的特性
     */
    public void chinaGongfu(){
        System.out.println("中國功夫!");
    }

}