题目:设计一个学生类Student2,包含的属性有name和age。然后由这个学生类派生出本科生类Undergrad和研究生类Postgraduate,本科生类包含的属性为专业specialty,研究生包含的属性为研究方向studydirection。每个类都有相关数据的输出方法。

## 相关代码

```
package student;//包名 根据自己的写

//主类Student(自行修改)
public class Student {

public static void main(String[] args) {

// 创建一个本科生
Undergraduate ubder = new Undergraduate("小明",19,"移动通信");

ubder.info();//相关的数据输出方法

// 创建一个研究生
Postgraduate post = new Postgraduate("小红",22,"安卓移动应用开发");

post.info();//相关的数据输出方法
}

}

//创建一个学生类Student2
class Student2{
String name;// 姓名
int age;// 年龄
//学生类的一个相关数据的输出方法
public void show() {
System.out.print(name+"今年"+age+"岁");
}
}
```

```
//创建一个本科生类Undergrad
class Undergraduate extends Student2{
// 定义专业属性
String specialty;

public Undergraduate(String name,int age,String specialty) {
super.name=name;
super.age=age;
this.specialty=specialty;
}

//相关的数据输出方法
public void info() {
super.show();
System.out.println(",他的专业是:"+specialty);
}

}

//创建一个研究生类Postgraduate
class Postgraduate extends Student2{
// 定义研究方向属性
String studydirection;
//接收从主类输入的数据
public Postgraduate(String name,int age,String studydirection) {
super.name=name;
super.age=age;
this.studydirection=studydirection;
}

//相关的数据输出方法
public void info() {
super.show();
System.out.println(",他的研究方向是:"+studydirection);
}

}

```

最后修改:2021 年 08 月 13 日
如果觉得我的文章对你有用,请随意赞赏