Java练习:方法重写——给Student类增加本科生子类和研究生子类,并重写父类中的方法

方法的重写是指在子类中定义与父类具有相同的方法名、返回类型和参数表的新方法,该方法将覆盖父类原有的方法。
子类可使用super关键字引用当前类的父类同名方法。
例题练习如下:
首先创建一个Student类,包含的属性有姓名name和年龄age;

class Student{  //创建父类Student;
	String name;  //属性name;
	int age;      //属性age;
	void displayInformation() {
		System.out.println("姓名:" + name);
		System.out.println("年龄:" + age);
	}
}

派生出本科生类(Undergraduate),并新增属性为专业specialty,新增与父类同名方法并根据子类对方法适当增加内容;

class Undergraduate extends Student{
	String specialty;    //子类中增加新的属性specialty;
	void displayInformation() {
		super.displayInformation(); //引用Student类中的方法;
		System.out.println("专业:" + specialty);
	}
}

同样派生出研究生类(Postgraduate),新增属性为研究方向studydirection,同样新增与父类同名方法并适当增加内容;

class Postgraduate extends Student{
	String studydirection;  //子类中增加新的属性studydirection;
	void displayInformation() {
		super.displayInformation();//引用父类中的方法;
		System.out.println("研究方向:" + studydirection);
	}
}

需要注意的是两个子类都新增displayInformation()方法并在原有属性基础上各自新增不同的属性,所以两个子类重写后的方法已经完全不同了。
以上两个子类引用父类方法除了以上写法还可以换成另外一种:

class Undergraduate extends Student{
	String specialty;    //子类中增加新的属性specialty;
	void displayInformation() {
		System.out.println("姓名:" + super.name);
	    System.out.println("年龄" + super.age);
		System.out.println("专业:" + specialty);
	}
}

class Postgraduate extends Student{
	String studydirection;
	void displayInformation() {
		System.out.println("姓名:" + super.name);
	    System.out.println("年龄" + super.age);
		System.out.println("研究方向:" + studydirection);
	}
}

最后,是程序的运行。分别将子类实例化,并对各属性赋予具体的值,就可以运行成功了!

public class demo4 {
	public static void main(String[] args) {
		Undergraduate a = new Undergraduate();
		a.name = "张三";
	    a.age = 21;
		a.specialty = "大数据";
		a.displayInformation();
		
		Postgraduate b = new Postgraduate();
		b.name = "李四";
		b.age = 23;
		b.studydirection = "人工智能方向";
		b.displayInformation();
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值