多态

多态是同一个行为具有多个不同表现形式或形态的能力。
多态就是同一个接口,使用不同的实例而执行不同操作。
多态性是对象多种表现形式的体现
多态存在的三个必要条件
1.继承
2.重写
3.父类引用指向子类对象
多态的优点
1.消除类型之间的耦合关系
2. 可替换性
3. 可扩充性
4. 接口性
5. 灵活性
6. 简化性
多态中成员访问的规则
成员变量:编译看左边,运行看左边
成员方法:编译看左边,运行看右边。
静态方法:编译看左边,运行看左边

多态实现的简单程序

public class test {
    public static void main(String[] args) {
        Animal a = new Cat();
        a.eat();//调用的是cat的eat
        ((Cat) a).catchMouse();//向下转型调用的是cat的catchmouse
        a=new Dog();
        a.eat();
        ((Dog) a).lookdoor();
    }

}
abstract  class Animal{
    abstract void eat();
}
class Cat extends Animal{
    @Override
    void eat() {
        System.out.println("吃鱼");
    }
    void catchMouse(){
        System.out.println("猫抓老鼠");
    }
}
class Dog extends Animal{
    @Override
    void eat() {
        System.out.println("吃骨头");
    }
    void lookdoor(){
        System.out.println("狗看门");
    }
}

执行以上程序,运行结果为

吃鱼
猫抓老鼠
吃骨头
狗看门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值