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

初学java``一个小问题``
class   Cruncher{  
void   crunch(int   i){  
System.out.println( "int   version ");  
}  
void   crunch(String   s){  
System.out.println( "String   version ");  
}  
public   static   void   main(String   args[]){  
Cruncher   crun=new   Cruncher();  
char   ch= 'p ';  
crun.crunch(ch);
}  
}
别人只告诉我这个程序的输出结果为   int   version
为什么String   version不会被打印出来

Cruncher   crun=new   Cruncher();  
char   ch= 'p ';  
crun.crunch(ch);
这段代码是什么意思,会的回答一下``谢谢了

------解决方案--------------------
Cruncher crun=new Cruncher(); //new 一个Cruncher对象
char ch= 'p '; //定义个char 类型变量并付值 'p '
crun.crunch(ch); //经ch当作参数传进去

至于打印int version,因为你传进的char类型的,在运行的时候,char自动转型为int,所以调用了参数为int的crunch方法 打印出int version