设计学生类,属性包括姓名年龄和学位,学生类派生出本科生类和研究生类,要求本科生类中增加专业属性,研究生类中增加研究方向属性,每个类都有受方法,用于输出相应属性信息。
执行代码:
class Student1{
private String name;
private int age;
private String degree;
public Student1(String name, int age, String degree) {
this.name = name;
this.age = age;
this.degree = degree;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getDegree() {
return degree;
}
public void show() {
System.out.println("姓名:" + this.getName() + " 年龄:" + this.getAge() + " 学位:" + this.getDegree() );
}
}
class Undergraduate extends Student1
{
private String specialty;
public String getSpecialty()
{
return specialty;
}
public Undergraduate(String name, int age, String degree, String specialty) {
super(name,age,degree);
this.specialty = specialty;
}
public void show(){
System.out.println("姓名:" + this.getName() + " 年龄:" + this.getAge() + " 学位:" + this.getDegree() + " 专业:" + this.getSpecialty());
}
}
class Graduate extends Student1{
private String direction;
public String getDirection() {
return direction;
}
public void setDirection(String direction) {
this.direction = direction;
}
public Graduate(String name, int age, String degree, String direction) {
super(name, age, degree);
this.direction = direction;
}
public void show(){
System.out.println("姓名:" + this.getName() + " 年龄:" + this.getAge() + " 学位:" + this.getDegree() + " 研究方向:" + this.getDirection());
}
}
public class xueshenglei {
public static void main(String[] args) {
Undergraduate stu1=new Undergraduate( "小红",20,"本科","通信工程");
Graduate stu2=new Graduate("小明",21,"硕士","软件工程");
stu1.show();
stu2.show();
}
}
执行结果: