package com.etime2;
/**
* 为Student和Teacher父类
*
*
* @author 清
*
*/
public class People {
private String name;// 姓名
private int age;// 年龄
// 构造方法
public People() {
super();
}
public People(String name, int age) {
super();
this.name = name;
if (JudgeAge(age)) {
this.age = age;
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (JudgeAge(age)) {
this.age = age;
}
}
// 年龄限制方法 x<=150&&x>0
private boolean JudgeAge(int age) { //此方法只允许本类调用
boolean b = false;
if (age <= 0 || age > 150) {
System.out.println("年龄不合法");
} else {
b = true;// 合法
}
return b;
}
}
--------------------------------------------------------------------------------
package com.etime2;
/**
* People子类
*
* @author 清
*
*/
public class Student extends People {
//学生类新增 学号 和 班级 属性
private int studentID;//学号
private String grade;//班级
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(int studentID, String grade,String name, int age) {
super(name,age);
this.studentID = studentID;
this.grade = grade;
}
public int getStudentID() {
return studentID;
}
public void setStudentID(int studentID) {
this.studentID = studentID;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
}
------------------------------------------------------------------------
package com.etime2;
/**
* People类子类
* @author 清
*
*/
public class Teacher extends People {
//新增职工号 和 授课科目
private int employeeNumber;//职工号
private String Subject;//授课科目
public Teacher() {
super();
}
public Teacher(int employeeNumber, String subject,String name, int age) {
super(name,age);
this.employeeNumber = employeeNumber;
this.Subject = subject;
}
public int getEmployeeNumber() {
return employeeNumber;
}
public void setEmployeeNumber(int employeeNumber) {
this.employeeNumber = employeeNumber;
}
public String getSubject() {
return Subject;
}
public void setSubject(String subject) {
Subject = subject;
}
}
----------------------------------------------------------------
package com.etime2;
public class Test01 {
public static void main(String[] args) {
Test01 te=new Test01();
Student student=new Student();
student.setName("张三");
student.setAge(18);
student.setGrade("2017级123班");
student.setStudentID(20179527);
Teacher teacher=new Teacher();
teacher.setName("李四");
teacher.setAge(30);
teacher.setEmployeeNumber(32768);
teacher.setSubject("体育");
te.printData(teacher);
System.out.println("--------------------");
te.printData(student);
}
//判断数据类型并打印数据
public void printData(People people) {
if(people instanceof Student) {//与学生类型匹配成功
System.out.println("姓名:"+people.getName());
System.out.println("年龄:"+people.getAge());
System.out.println("学号:"+((Student) people).getStudentID());
System.out.println("班级:"+((Student) people).getGrade());
}else if(people instanceof Teacher) {
System.out.println("姓名:"+people.getName());
System.out.println("年龄:"+people.getAge());
System.out.println("学科:"+((Teacher) people).getSubject());
System.out.println("工号:"+((Teacher) people).getEmployeeNumber());
}else {
System.out.println("数据类型未匹配");
}
}
}