2、(20分)按以下要求编写一个完整的Java程序: (1)编写抽象类people类: 该类包括String型的变量姓名name和int型的年龄age变量; 该类有一个默认的构造方法; 一个含参数的构造方法; 一个抽象方法描述爱好:printHobby(); 一个show ()用来打印对象的具体的信息,输出“我是人,我的名字是…,我的年龄是…岁”; 两个属性的访问器和修改器; (2)编写student类继承people 类,该类包括: 一个名为hobby 和major 的String型数据域表示该学生的爱好和专业; 一个能创建指定姓名、年龄、爱好和专业的学生的有参构造方法; 属性hobby和major的访问器方法: 实现父类的抽象方法printHobby(),输出 “name+“ 的爱好是”+hobby”: 重写父类people 中的show()方法,输出“我是学生,我的名字是…,我的年龄是…岁,我的专业是…”; (3)编写测试类Test,提示用户从键盘输入人的姓名、年龄,学生的姓名、年龄、爱好、专业,创建一个具有对应属性的人和学生,要求显示如下信息: 我是人,我的名字是王玲,我的年龄是36岁 我是学生,我的名字是张峰,我的年龄是21岁,我的专业是软件工程。 张峰的爱好是打蓝球。
时间: 2024-03-20 13:44:56 浏览: 69
以下是按要求编写的Java程序:
```
import java.util.Scanner;
abstract class People {
protected String name;
protected int age;
public People() {}
public People(String name, int age) {
this.name = name;
this.age = age;
}
public abstract void printHobby();
public void show() {
System.out.println("我是人,我的名字是" + name + ",我的年龄是" + age + "岁");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
class Student extends People {
private String hobby;
private String major;
public Student(String name, int age, String hobby, String major) {
super(name, age);
this.hobby = hobby;
this.major = major;
}
public void printHobby() {
System.out.println(name + "的爱好是" + hobby);
}
public void show() {
System.out.println("我是学生,我的名字是" + name + ",我的年龄是" + age + "岁,我的专业是" + major);
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
}
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入人的姓名:");
String name = scanner.next();
System.out.print("请输入人的年龄:");
int age = scanner.nextInt();
People people = new People(name, age);
people.show();
System.out.print("请输入学生的姓名:");
name = scanner.next();
System.out.print("请输入学生的年龄:");
age = scanner.nextInt();
System.out.print("请输入学生的爱好:");
String hobby = scanner.next();
System.out.print("请输入学生的专业:");
String major = scanner.next();
Student student = new Student(name, age, hobby, major);
student.show();
student.printHobby();
scanner.close();
}
}
```
运行程序后,您可以按照程序提示输入信息,程序将输出对应的人和学生的信息。例如,输入以下信息:
```
请输入人的姓名:王玲
请输入人的年龄:36
请输入学生的姓名:张峰
请输入学生的年龄:21
请输入学生的爱好:打蓝球
请输入学生的专业:软件工程
```
程序将输出以下信息:
```
我是人,我的名字是王玲,我的年龄是36岁
我是学生,我的名字是张峰,我的年龄是21岁,我的专业是软件工程
张峰的爱好是打蓝球
```
阅读全文