子类与父类引用遇到的问题

子类与父类遇到的问题

先展示下遇到的bug,原代码如下

package com.*****;

public class Demo02 {
    public static void main(String[] args) {

        Son son=(Son) new Parent();
        son.say();
    }
}

class Parent{
    public void say(){
        System.out.println("我是父类中的say方法");
    }
}

class Son extends Parent{
    @Override
    public void say(){
        System.out.println("我是子类中的say方法,我覆盖了父类的方法");
    }
}

编译过程中没有报错,运行时报错Parent无法转换为Son

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bUa3tfQR-1610442921211)(C:\Users\shyaa\AppData\Roaming\Typora\typora-user-images\image-20210112170434515.png)]

翻看java教程视频后得到了解决,main方法中的代码块可拆分为

    public static void main(String[] args) {
        Parent parent=new Parent();
        Son son=(Son)parent;
        son.say();
    }

正确代码应为

public static void main(String[] args) {
    Parent parent=n
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值