日期:2014-05-20  浏览次数:20714 次

乱了,这是什么意思??没看懂!

问题1)给定下面的类定义
public class Upton{
public static void main(String argv[]){
}
public void amethod(int i){}
//Here
}
下面哪一个在替换//Here 后是合法的?
1) public int amethod(int z){}
2) public int amethod(int i,int j){return 99;}
3) protected void amethod(long l){ }
4) private void anothermethod(){}



答案1)
2) public int amethod(int i, int j) {return 99;}
3) protected void amethod (long l){}
4) private void anothermethod(){}
选项1 由于两个原因不会被编译。第一个相当明显,因为它要求返回一个integer。另一个是
试着直接在类内部重新定义一个方法。把参数的名字从i 换成z 是无效的,并且一个方法不
能在同一个类里重写。

到底选什么,为什么阿??

------解决方案--------------------
真复杂啊。。。
搞不懂!
------解决方案--------------------
是否合法,自己写一遍代码试试不就知道了吗!
------解决方案--------------------
除了第一个其他都是合法的! 原因你自己也已经写出来了啊!
------解决方案--------------------
如果是单选题的话,那题目应该是哪个替换是非法的吧!