2个JAVA问题请教,在线等,高分,谢谢啊
1 按照JAVA解惑上的例子:
public final class Api {
private static class String{};
public static void main(String[] args) {
}
}
为什么我运行报错:
java.lang.NoSuchMethodError: mainException in thread "main"
2 为什么覆盖、实现方法不能减少可见性,但是域却可以?
public class Parent {
public int i=20;
public void test() {
}
public static void main(String[] args) {
//10
System.out.println(new Sun().i);
}
}
class Sun extends Parent{
int i=10; //这个可以设置成private,下面的方法却不行
/* //Cannot reduce the visibility of the inherited method from Parent
private void test() {
}*/
}
------解决方案--------------------1.
Java code
public static void main(String[] args)
------解决方案--------------------
第一个
主函数中的String应该是java.lang包中的,你自己写了就自己覆盖了,主函数也就不可以执行了,楼上说的清楚
第二个
楼主属于覆盖父类的方法,在覆盖的时候不能降低方法的可见性,你的程序将父类中的public降低为private了所以可以,但是对于数据就没有这个问题,楼主可以看一下域的隐藏详细了解一下