大家帮我看看这个基础题
来源:百度知道 编辑:UC知道 时间:2024/06/28 16:55:50
public class A {
public void a1(){
system.out.println("你好");
}
class B extends A{
public void a1(){
system.out.println("你不好");
}
}
class C{
public static void main(String[] args){
A p=new B();
p.a1();
}
---------------------------------------------------
public class A {
public void a1(){
system.out.println("你好");
}
class B extends A{
new public void a1(){
system.out.println("你不好");
}
}
class C{
public static void main(String[] args){
A p=new B();
p.a1();
}
}
这2题的输出结果是什么,为什么???
public void a1(){
system.out.println("你好");
}
class B extends A{
public void a1(){
system.out.println("你不好");
}
}
class C{
public static void main(String[] args){
A p=new B();
p.a1();
}
---------------------------------------------------
public class A {
public void a1(){
system.out.println("你好");
}
class B extends A{
new public void a1(){
system.out.println("你不好");
}
}
class C{
public static void main(String[] args){
A p=new B();
p.a1();
}
}
这2题的输出结果是什么,为什么???
第二题中 class B extends A{
new public void a1(){
system.out.println("你不好");
}
编译会出错,因为方法不能new。
楼上说的对,方法前不能用new定义,编译会出错的...