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
}
}