1.多态
1.什么是多态?
(继承是多态的前提)
多态通俗来讲就是各种形态,具体来讲就是去完成某个行为,当不同的对象去完成时会产生不同的形态。
在代码层面来说就是子类的每个对象也是父类的对象,例如:每个经理都是一个员工,但反之,并不是每位员工都是经理,这就是继承中的“is——a”规则,它的另外一种表述则是替换规则,就i是说程序中出现父类对象的任何地方都可以使用子类对象来替换。
2.如何使用多态呢?
代码中体现的多态性其实就是父类引用指向子类对象
一般格式有两种:
1. 父类名称 对象名 = new 子类名称( );
2.接口名称 对象名 = new 实现类名称( );
多态中的成员方法和成员变量的访问特点
public class People {
String name;
int age;
public People(String name, int age) {
this.name = name;
this.age = age;
}
public void eat(){
System.out.println(age+"岁的"+name+"正在吃饭!");
}
}
public class Student extends People{
//student类继承people类
public Student(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println(age+"岁的"+name+"正在吃学生餐!");
}
}
public class Main {
public static void eat(People a){
//用一个People类的变量a来接收变量,我们并不清楚变量a是一个什么类型
a.eat();
}
public static void main(String[] args) {
People people = new People("张三",38);
Student student = new Student("李四",15);