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("中国功夫!");
	}

}

你可能感兴趣的:(JAVA基础,Java教学任务)