子类与父类遇到的问题
先展示下遇到的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