首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

2个JAVA有关问题请问,高分,多谢

2012-01-18 
2个JAVA问题请教,在线等,高分,谢谢啊1 按照JAVA解惑上的例子:public final class Api {private static cla

2个JAVA问题请教,在线等,高分,谢谢啊
1 按照JAVA解惑上的例子:
public final class Api {
private static class String{}; 
public static void main(String[] args) {
}
}

为什么我运行报错:
java.lang.NoSuchMethodError: main
Exception 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了所以可以,但是对于数据就没有这个问题,楼主可以看一下域的隐藏详细了解一下

热点排行