1、Java的多态
Java有三大特性:封装、继承、多态
多态:多种形态,面向对象的三大特性之一,多态是建立在封装和继承之上的。
1.1、方法的多态
方法的重写和重载就是方法多态的表示形式
1.2、对象的多态
1、一个对象的编译类型和运行类型不一样
2、编译类型是在定义对象的时候,已经确定好的
3、运行类型是可以改变的
4、编译类型==左边 运行类型==右边
Person person = new Person();
多态:父类的引用指向子类的对象
父类的引用是指向不了子类独有的方法,父类的引用不能调用子类都有的方法。
注意事项:
1、必须有继承
2、必须有重写
3、=左边是父类引用
4、=右边是子类的对象
1.3、父类的引用指向子类的对象在开发中如何使用
Person类
Student类 学员
方法 执行学生手册
Teacher类 讲师
方法 执行讲师手册
Employee 员工
方法 执行员工手册
Manager 管理层
管理学生 讲师 员工
manage();
class Manger {
public void manger (Person person) {
person.excute();
}
}
class Person {
public void excute () {
System.out.println("执行制度");
}
public void eat() {
}
}
class Student extends Person {
public void excute() {
System.out.println("执行学员手册");
}
}
class Teacher extends Person {
public void excute() {
System.out.println("执行讲师手册");
}
}
class Employee extends Person {
public void excute() {
System.out.println("执行员工手册");
}
}
public class Demo1 {
public static void main(String[] args) {
Manger manger = new Manger();
Person student = new Student();
Person teacher = new Teacher();
Person employee = new Employee();
manger.manger(student);
manger.manger(teacher);
manger.manger(employee);
}
}