JAVA课程学习十:继承训练

本文通过模拟中国人、美国人及北京人的具体实例,详细讲解了Java中类的继承与方法的重写,并演示了如何使用super关键字调用父类的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

###练习知识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("中国功夫!");
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值