1.Java中的多态
多态:
多种形态,是面向对象的三大特性之一
多态是建立在封装和继承之上
面向对象的三大特性
封装 继承 多态
1.1方法的多态
方法的重写和重载就是方法的多态的形式
class Animals{
public void eat () {
System.out.println("吃饭");
}
public void eat(String food) {
System.out.println("吃"+food);
}
}
class Dog extends Animals{
@Override//重写
public void eat() {
// TODO Auto-generated method stub
System.out.println("吃肉");
}
@Override
public void eat(String food) {
// TODO Auto-generated method stub
System.out.println("吃"+food);
}
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat("骨头");
}
}
1.2对象的多态
对象的编译类型和运行类型是不一样
编译类型是在定义对象的时候是已经确定好的
运行类型是可以改变的
编译类型看 = 的左边 运行类型看 = 的右边
比如 Person person = new Person();
父类引用指向子类的对象
Animal animal = new Dog();
A nimal anima1 = new Cat();
多态:
必须有继承 必须有重写 =左边是父类引用 =右边是子类的对象
1.3父类的引用指向子类的对象
class Animals1{
public void call