Java 继承,Student类,父类和子类继承用法, 设计一个学生类Student和它的一个子类Undergraduate。

  • Post author:
  • Post category:java


设计一个学生类Student和它的一个子类Undergraduate,要求如下:

(1) Student类有name(姓名)和age(年龄)属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息。

(2) 本科生类Undergraduate增加一个degree(学位)属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree学位赋值,一个show()方法用于打印Undergraduate的属性信息。“

(3) 在测试类中分别创建Student对象和Undergraduate对象,调用它们的show()。



父类:

public class Student {
private String name;
 private int 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;
 } 
 public Student() {
  super();
  // TODO Auto-generated constructor stub
 }
 public Student(String name, int age) {
  super();
  this.name = name;
  this.age = age;
 }
 public void show() {
  System.out.print("姓名:"+name+"   年龄:"+age);
  }}



子类:

public class Undergraduate extends Student {
private String degree;
 private String getDegree() {
  return degree;
 }
 public void setDegree(String degree) {
  this.degree = degree;
 }
 public Undergraduate(String name, int age,String degree) {
  super(name, age);
  // TODO Auto-generated constructor stub
  this.degree=degree;
 }
 public Undergraduate() {
  super();
  // TODO Auto-generated constructor stub
 }
 @Override
 public void show() {
  // TODO Auto-generated method stub
  super.show();
  System.out.println("  学位:"+degree);
 }
 }



测试类:

public class StudentTset {
public static void main(String[] args) {
  // TODO Auto-generated method stub
  Student student=new Student("Jim",20);
  student.show();
  System.out.println();
  
  Student student2=new Student();
  student2.setName("Jim");
  student2.setAge(20);
  student2.show();
  System.out.println();
  
  Undergraduate undergraduate=new Undergraduate("Tom", 21, "学士");
  undergraduate.show();

  Undergraduate undergraduate2=new Undergraduate();
  undergraduate2.setAge(21);
  undergraduate2.setName("Tom");
  undergraduate2.setDegree("学士");
  undergraduate2.show();
  System.out.println(); 
  }}



运行结果:

姓名:Jim   年龄:20
姓名:Jim   年龄:20
姓名:Tom   年龄:21  学位:学士
姓名:Tom   年龄:21  学位:学士



版权声明:本文为m0_46824767原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。