JAVA課程學習十:繼承訓練
阿新 • • 發佈:2019-01-08
練習知識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("中國功夫!");
}
}