实验五,Java继承

题目:编写能够满足如下条件的程序:

1. 声明一个Person类,有name(String类型)、age(int类型)、sex(char类型)属性。通过构造方法进行赋值。一个show方法,返回String类型,内容如下:某某 男(女) 年龄

2. 声明一个Student类,继承Person类,增加id(int,学号)属性,通过构造方法,利用super调用父类构造方法来进行变量赋值。Override父类的show方法,返回String类型,

内容如下:某某 男(女) 年龄 学号

提示:利用super调用父类的show方法得到除学号部分的String,然后加上学号的信息。

3. 声明一个Teacher类,继承Person,增加course(String,所教课程)属性,通过构造方法,利用super调用父类构造方法来进行变量赋值。Override父类的show方法,返回String类型,

内容如下:某某 男(女)年龄 所教课程

提示:利用super调用父类的show方法得到除所教课程部分的String,然后加上所教课程的信息。

4. 声明PersonApp类,在其中的main方法中分别声明Person、Student、Teacher类型的变量,并通过构造方法初始化,然后显示各自的信息。

1.代码:

Person.java
public class Person {
	String name;
	char sex;
	int age;
	public Person(String name, char sex, int age) {
		this.name = name;
		this.sex = sex;
		this.age = age;
	}构造函数,设置父类person对象信息

	String show() {
		return "姓名:" + name + ", 性别:"+ sex + ", 年龄:" + age;
	}//输出父类person对象信息
}

Student.java
public class Student extends Person{
	int id;

	public Student(String name, char sex, int age, int id) {
		super(name, sex, age); //调用父类构造函数
		this.id = id;
	}构造函数,设置子类student对象信息

	String show() {
		return super.show() + ", 学号:" + id;
	}//输出子类student对象信息
}

Teacher.java
public class Teacher extends Person{
	String course;

	public Teacher(String name, char sex, int age, String course) {
		super(name, sex, age);//调用父类构造函数
		this.course = course;
	}构造函数,设置子类teacher对象信息
	
	String show() {
		return super.show() + ", 所属课程:" + course;
	}//输出子类teacher对象信息
}

PersonApp.java
public class PersonApp {
	public static void main(String[] args) {
		Person person = new Person("person", '男', 20);
		System.out.println(person.show());//设置父类person信息并输出
		
		Student student = new Student("student", '女', 18, 16010101);
		System.out.println(student.show());//设置子类student信息并输出
		
		Teacher teacher = new Teacher("teacher", '女', 22, "English");
		System.out.println(teacher.show());//设置子类teacher信息并输出
	}
}

2.运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42250302/article/details/88971479
今日推荐