在java中 (1) Student类有name 和age属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息。 (2)本科生类Undergraduate 增加一个degree(学位)属性。有一一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree专业赋值,--个show()方法用于打印Undergraduate的属性信息。 (3)在测试类中分别创建Student对象和Undergraduate对象,调用它们的show()。
时间: 2024-02-11 12:05:51 浏览: 87
好的,根据您的要求,我为您编写了如下的Java代码:
```java
class Student {
protected String name;
protected int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void show() {
System.out.println("姓名:" + name + ",年龄:" + age);
}
}
class Undergraduate extends Student {
private String degree;
public Undergraduate(String name, int age, String degree) {
super(name, age);
this.degree = degree;
}
public void show() {
super.show();
System.out.println("学位:" + degree);
}
}
public class Test {
public static void main(String[] args) {
Student s = new Student("小明", 20);
s.show();
Undergraduate u = new Undergraduate("小红", 22, "本科");
u.show();
}
}
```
代码中,我们首先定义了一个学生类Student,它有name和age属性,以及一个构造方法和一个show()方法,用于初始化属性和打印属性信息。注意,我们在属性前加上了protected关键字,这是为了让子类能够继承这些属性。
然后,我们定义了一个本科生类Undergraduate,它继承自Student类,增加了一个degree属性,以及一个构造方法和一个show()方法,用于初始化属性和打印属性信息。在构造方法中,我们使用super()函数调用父类的构造方法,来初始化继承的name和age属性。
最后,我们定义了一个测试类Test,它创建了一个Student对象s和一个Undergraduate对象u,并调用它们的show()方法来打印属性信息。
当我们运行测试类时,就会输出以下结果:
```
姓名:小明,年龄:20
姓名:小红,年龄:22
学位:本科
```
阅读全文