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

请问一道java基础题,请大侠帮忙,谢谢
3、考虑下面的类: 
  1. class Test { 
  2. void test(int i) { 
  3. System.out.println(“I am an int.”); 
  4. } 
  5. void test(String s) { 
  6. System.out.println(“I am a string.”); 
  7. } 
  8. 
  9. public static void main(String args[]) { 
  10. Test t=new Test(); 
  11. char ch=“y”; 
  12. t.test(ch); 
  13. } 
  14. } 
  下列哪一个结论是正确的
A)第5行不能通过编译,因为void方法不能被重载。
B)第12行不能通过编译,因为没有将一个将char类型作为参数的test() 方法。
C)代码不能通过编译但是会在第12行抛出异常。
D)代码能通过编译并会产生如下输出:I am an int. 
E)代码能通过编译并会产生如下输出:I am a String. 

我怎么觉得没有一个是正确的呢,请高手回答,谢谢!

------解决方案--------------------
Java code
D

------解决方案--------------------
报错应该在11行吧。 char ch=“y”;
A) 方法名相同,参数不同 ,可以重载
B) char 是4个字节 会转换成4个字节的int