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);
这段代码是什么意思,会的回答一下``谢谢了

解决方案 »

  1.   

    Cruncher crun=new Cruncher(); //new 一个Cruncher对象
    char ch='p';                 //定义个char 类型变量并付值'p'
    crun.crunch(ch);            //经ch当作参数传进去至于打印int version,因为你传进的char类型的,在运行的时候,char自动转型为int,所以调用了参数为int的crunch方法 打印出int version
      

  2.   

    class Cruncher{ //void crunch(char a){  ……………………可以把注释取消看看。
    //System.out.println("char version");
    //}
    void crunch(int i){ 
    System.out.println("int version"+i); 

    void crunch(String s){ 
    System.out.println("String version"); 

    }
    class LT{
    public static void main(String args[]){ 
    Cruncher crun=new Cruncher(); 
    char ch='p'; 
    System.out.println(ch);
    crun.crunch(ch);

    }这样大概你就能明白一点。字符p传递的时候是u 的编码;
    我也是初学者不知道分析的对不对。Cruncher crun=new Cruncher();// 初始化一个对象 java 使用new申请空间的
    char ch='p'; //没什么说的
    crun.crunch(ch);//调用了方法初始化还请高手指导 !!:)