有抽象类和类的关系如图,按要求完成程序:
(1)根据关系图完成抽象类People和子类Student的定义。抽象类People中有抽象方法print;在子类中新增工号number,在构造方法中调用父类构造方法,并为新属性赋值;实现print方法用于按格式输出信息。
(2)定义Test类,在main方法中用户通过键盘输入数据,根据输入数据创建Student类的对象(自己的姓名,学号,年龄),调用print方法输出学生信息。
public abstract class People {
private String name;
private int age;
public People(String name,int age){
this.name=name;
this.age=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;
}
abstract void print();
}
public class Student extends People{
private String number;
public Student(String number,String name,int age){
super(name,age);
this.number=number;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
@Override
void print() {
System.out.println("[姓名:"+this.getName()+"-学号:"+this.getNumber()+"-年龄:"+this.getAge()+"]");
}
}
public class TestProple {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入姓名");
String name=sc.next();
System.out.println("请输入年龄");
int age=sc.nextInt();
System.out.println("请输入学号");
String number=sc.next();
Student student=new Student(number,name,age);
student.print();
}
}