java为什么“一旦向上转型,就不能调用子类中的新方法”?
发布网友
发布时间:2022-04-30 16:07
我来回答
共1个回答
热心网友
时间:2022-06-27 02:01
当子类重写了父类方法,向上造成后调用的是子类方法;
子类没有重写父类方法,向上造型后调用的是父类方法。
public
class
Test1
{
public
static
void
main(String[]
args)
{
A
k=new
B();
k.sayHi();
k.hello();
}
}
class
A
{
public
void
sayHi(){
System.out.println("我是父类");
}
public
void
hello(){
System.out.println("我是父类hello");
}
}
class
B
extends
A{
public
void
sayHi(){
System.out.println("我是子类");
}
}
输出结果:
我是子类
我是父类hello