日期:2014-05-19  浏览次数:20804 次

java 关于构造方法的题
class Test{
  void test(int i){
  System.out.println("i am an it");
 }
void test(String s){
System.out.println("i am a String");
 }
 public void main(String args[]){
 Test t=new Teset();
 char ch='y';
 t.test(ch);
 }
 
}

为什么输出结果是 i am an it 呢?

------解决方案--------------------
Test t=new Teset();
 char ch='y';//char是字符按ASC||编码可以用整形表示。你改成String ch="y";这样就对了
 t.test(ch);

------解决方案--------------------
这个跟 构造函数没关系


class Test{
void test(int i){
System.out.println("i am an it");
 }
void test(String s){
System.out.println("i am a String");
 }
 public void main(String args[]){
 Test t=new Teset();
 char ch='y';
 t.test(ch);//这个调用 会将char转换为 int型,所以 调用的是 void test(int i),如果想调用 
void test(String s)需要修改为 :t.test(""+ ch) ;//这样会转换为String


 }
 
}