1、public class SupClass {
public SupClass() {
}
public void print(){
System.out.print("sup");
}
}
2、public class SubClass extends SupClass{
public SubClass() {
}
protected void print(){
System.out.print("sub");
}
public static void main(String[] args){
SubClass subClass=new SubClass();
subClass.print();
}
}
答案 A、编译通不过; B、编译能通过,运行报错; c、打印出sup; d、打印出sub;
我选了 A,面试官说D;回来专门测试了下,的确编译通不过,提示:
[color=red] "SubClass.java": print() in com.SubClass cannot override print() in com.SupClass; attempting to assign weaker access privileges; was public at line 6, column 5[/color]
这种情况怎么办?
public SupClass() {
}
public void print(){
System.out.print("sup");
}
}
2、public class SubClass extends SupClass{
public SubClass() {
}
protected void print(){
System.out.print("sub");
}
public static void main(String[] args){
SubClass subClass=new SubClass();
subClass.print();
}
}
答案 A、编译通不过; B、编译能通过,运行报错; c、打印出sup; d、打印出sub;
我选了 A,面试官说D;回来专门测试了下,的确编译通不过,提示:
[color=red] "SubClass.java": print() in com.SubClass cannot override print() in com.SupClass; attempting to assign weaker access privileges; was public at line 6, column 5[/color]
这种情况怎么办?