不要被题目吓到啊~呵呵~~
看看下面的代码 public static void main(String[] args) {
String[] a = {};
test(a);
}
private static void test(Object ob){
System.out.println("OB");
}
// private static void test(Object[] ob){
// System.out.println("AR");
// }当前输出:OB
打开 test(Object[] ob) 方法后呢?
谁能仔细深刻的讲讲其中奥义~~
看看下面的代码 public static void main(String[] args) {
String[] a = {};
test(a);
}
private static void test(Object ob){
System.out.println("OB");
}
// private static void test(Object[] ob){
// System.out.println("AR");
// }当前输出:OB
打开 test(Object[] ob) 方法后呢?
谁能仔细深刻的讲讲其中奥义~~
解决方案 »
- 一个运用HashMap的程序
- 在校大学生的疑问
- Java程序打包后为何报空指针错误?
- String choice=showMenu(); 什么意思?
- 求一段代码
- 菜鸟求助:则样在字符串中加入双引号,比如 实现的效果是:打印出带引号的 "aa"; 不知道String对象中怎么加如?
- ldap sorting,达人们请进
- 请大家教我一下,如何使用定时器,包括用什么头文件,怎么样使用,我搜索了一下也没有什么详细的
- 用java实现作用(画图,线,保存,色彩。。。
- 请问谁用过util.concurrent包?
- Can't find bundle for base name filename, locale zh_CN
- 线程队列删除问题
T1 t = new T2();
t.print();
}class T2 extends T1{
public static void print(){
System.out.println("T2 print");
}
}abstract class T1{
public static void print(){
System.out.println("T1 print");
}
}是不是和你说的一样~
而基本类型如int [] a的元素可以不叫对象其实对于重载的test,无论是 test(Object ob)还是 test(Object[] ob)
test(a),都是把a[0]传进去,只是参数匹配的先后关系而已,有后者当然
调用后者,没有就调用前者,可以这样分别测试:
private static void test(Object ob){
System.out.println(ob); --》打印出类名@hashcode,可以看出显然是对象啦
}
private static void test(Object[] ob){
System.out.println(ob); 结果同上
}
但是,getGenericInterface()反回的确是java.lang.Clonable.
这就是说String[] 还有Object[] 都是Clonable的实现。
而重载方法时,Object是优先级最低,所以调用了Object[]为参数的方法。自己赞一个。嘿嘿。