package shi;
interface Person{//定义接口Person
public abstract void Identity();//定义方法Identity()
}
class Student implements Person{//定义类Student实现接口Person,并重写方法Identity()
public void Identity() {
System.out.println("人员的身份:学生");
}
}
class Teacher implements Person{//定义类Teacher实现接口Person,并重写方法Identity()
public void Identity() {
System.out.println("人员的身份:教师");
}
}
class PersonMessage{//定义类Task
public void showMessage(Person person) {//接口Person作为方法的参数类型
person.Identity();//接口Person作为方法showMessage()的参数类型
}
}
public class shi {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student student = new Student();//创建学生对象
Teacher teacher = new Teacher();//创建老师对象
PersonMessage teacherMs = new PersonMessage();
student.Identity();//将表示接口的实参teacher传给方法showMessage()
teacherMs.showMessage(teacher);
}
}
知识分析
在类PersonMessage中定义的方法showMessage()以接口person作为形参类型定义了一个变量person,当类的personMessage的方法showMessage()被调用时,方法会将属于person接口类的对象teacher作为实参进行传递。