前面给大家介绍了一下java继承(extends),那么下面要给大家分享的就是一个java继承的实例。
题目:
教师和学生都是人,他们有着共同的属性姓名、年龄、性别和身份证号,但是,学生还具有学号和所学专业两个属性,教师还具有教龄和所教专业两个属性。
下面的话,编写java程序代码,使得教师(Teacher)类和学生(Student)类都继承于人(People)类。
实现步骤:
创建人类People,定义name、age、sex、sn属性:(在People类当中有四个公有属性、一个构造方法和一个toString()方法)
public class People { public String name; // 姓名 public int age; // 年龄 public String sex; // 性别 public String sn; // 身份证号 public People(String name, int age, String sex, String sn) { this.name = name; this.age = age; this.sex = sex; this.sn = sn; } public String toString() { return "姓名:" + name + "\n年龄:" + age + "\n性别:" + sex + "\n身份证号:" + sn; } }
创建People类的子类Student类,定义stuNo和department属性:(Student类继承自 People 类,所以,在Student类当中,同样具有People类的属性和方法,这里重写了父类当中的 toString()方法)
public class Student extends People { private String stuNo; // 学号 private String department; // 所学专业 public Student(String name, int age, String sex, String sn, String stuno, String department) { super(name, age, sex, sn); // 调用父类中的构造方法 this.stuNo = stuno; this.department = department; } public String toString() { return "姓名:" + name + "\n年龄:" + age + "\n性别:" + sex + "\n身份证号:" + sn + "\n学号:" + stuNo + "\n所学专业:" + department; } }
创建People类的另一个子类Teacher,定义tYear和tDept属性:(Teacher类和Student类相似,同样重写了父类中的toString()方法)
public class Teacher extends People { private int tYear; // 教龄 private String tDept; // 所教专业 public Teacher(String name, int age, String sex, String sn, int tYear, String tDept) { super(name, age, sex, sn); // 调用父类中的构造方法 this.tYear = tYear; this.tDept = tDept; } public String toString() { return "姓名:" + name + "\n年龄:" + age + "\n性别:" + sex + "\n身份证号:" + sn + "\n教龄:" + tYear + "\n所教专业:" + tDept; } }
编写测试类PeopleTest,在这个类当中创建People类的不同对象,分别调用它们的toString()方法,输出不同的信息:
public class PeopleTest { public static void main(String[] args) { // 创建Student类对象 People stuPeople = new Student("王丽丽", 23, "女", "410521198902145589", "00001", "计算机应用与技术"); System.out.println("----------------学生信息---------------------"); System.out.println(stuPeople); // 创建Teacher类对象 People teaPeople = new Teacher("张文", 30, "男", "410521198203128847", 5, "计算机应用与技术"); System.out.println("----------------教师信息----------------------"); System.out.println(teaPeople); } }
输出结果:
----------------学生信息--------------------- 姓名:王丽丽 年龄:23 性别:女 身份证号:410521198902145589 学号:00001 所学专业:计算机应用与技术 ----------------教师信息---------------------- 姓名:张文 年龄:30 性别:男 身份证号:410521198203128847 教龄:5 所教专业:计算机应用与技术
以上的java继承实例你都了解了吗?想要了解更多的java程序代码例子,请继续关注奇Q工具网来进行了解吧。
推荐阅读: