一道面试题目

来源:互联网 发布:汽车进口贸易额数据 编辑:程序博客网 时间:2024/04/29 08:37

public class Test {
 void m(String x){System.out.println("String   "+x);}
 void m(int x){System.out.println("int   "+x);}
 void m(Object x){System.out.println("Object   "+x);}
 void m(char x){System.out.println("char   "+x);}
 public static void main(String arg[]){
  
  Test t = new Test();
  t.m(null);
  char x ='a';
  t.m(x);
 }
}
输出结果是什么??

答案:输出结果是String   null
                                char    a

如果把上面的类改为如下样子:去掉参数为String和char类型的重载函数
 public class Test {
  void m(int x){System.out.println("int   "+x);}
 void m(Object x){System.out.println("Object   "+x);}
 public static void main(String arg[]){
  
  Test t = new Test();
  t.m(null);
  char x ='a';
  t.m(x);
 }
}
输出结果是什么??

答案:输出结果是Object   null
                                int    a

=================
可以看出能够自动转换,char转为int,null转为String然后专为object

原创粉丝点击