Java面向对象06

Java中的多态

多态访问成员变量-编译看左边(父类),运行看左边(父类)

多态访问成员方法-编译看左边(父类) ,运行看右边(子类)

多态访问静态方法-编译看左边(父类) ,运行看左边(父类) - 这种写法是不成立

//父类
public class Person {
    public void walk() {
        System.out.println("走......");
    }

    public void fly() {
        System.out.println("我是普通人,不会飞......");
    }
}
//子类
public class SuperMan extends Person {
    public void fly() {
        System.out.println("飞去救人......");
    }
}
public class Application {
    public static void main(String[] args) {
        Person p1 = new SuperMan();
        p1.fly();
    }
}

多态中向上转型和向下转型
向上转型:Person p = new SupperMan();
向下转型:SupperMan sm = (SupperMan)p;
注意:向下转型时,父类的真实对象必须是子类对象,否则会有类型转换异常ClassCastException

多态的好处和弊端
好处:方便维护,扩展性好
弊端: 在方法中使用父类当作参数时,方法内部不能使用父类访问子类的属性和方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值