多态

class BaseClass {
    public int book = 6;
    public void base() {
        System.out.println("父类的普通方法");
    }
    public void test() {
        System.out.println("父类的被覆盖的方法");
    }
}
public class SUbClass extends BaseClass {

    public String book = "轻量级J2ee";

    public void test() {
        System.out.println("子类的被覆盖的方法");

    }
    public void sub() {
        System.out.println("子类的普通方法");
    }
    public static void main(String[] args) {

     //BaseClass 编译时类型;SUbClass 运行时类型

        BaseClass ploymophicbc =new  SUbClass();
        System.out.println(ploymophicbc.book);
        ploymophicbc.base();
        //调用该引用时变量test方法,父类定义了该方法,子类覆盖了该方法,这就是多态
        //当运行时调用该引用变量的方法时,其方法的行为总是像子类方法的行为而不是父类方法行为,
//      这将出现相同类型的变量,执行同一个方法呈现出不同的行为特征,这就是多态
        ploymophicbc.test();



        //以下就错误,因为应用变量在编译阶段只能调用编译是类型所具有方法,
         //  但运行时执行它运行时类型所具有的方法,
        //因此编写Java代码时,引用变量只能调用声明该变量时所使用类里包含的方法,
        //ploymophicbc只能调用BaseClass中的方法
       // ploymophicbc.sub();

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值