大家帮我看看这个基础题

来源:百度知道 编辑: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题的输出结果是什么,为什么???

第二题中 class B extends A{
new public void a1(){
system.out.println("你不好");
}
编译会出错,因为方法不能new。

楼上说的对,方法前不能用new定义,编译会出错的...