2 diyabu diyabu 于 2014.01.04 20:39 提问

关于null的一段测试程序

public class testDriver {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    testDriver td = new testDriver();
    td.test(null);

}

public void test(Object o){
    System.out.println("object");
}
public void test(String s){
    System.out.println("String");
}

}
上面这段代码运行给过为何为“String”?我理解object是String的父类级别的,并且null也表示空引用,所以td.test(null)调用结果应该是“object”才对。

1个回答

xiangnan129
xiangnan129   Rxr 2014.01.05 14:23

因为String是Object的子类,所以在编译器调用的时候会先去调用子类。所以结果就是String
一般都是会优先子类的。是一个之下而上的过程。
我刚刚测试了一下我的猜想
public static void test(Integer o){
System.out.println("int");
}
如果你加再加这么一个方法,编译就会报错,因为编译器不知道到底去调用哪个方法。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
用汇编语言写一段对PC/AT两片8237芯片进行全0全1测试的程序
MOV AL,04H OUT DMA+08H,AL OUT DMA+0DH,AL MOV AL,0FFH AA:MOV BL,AL MOV BH,AL MOV CX,08H MOV DX,DMA BB:OUT DX,AL OUT DX,AL IN AL,DX MOV AH,AL IN AL,DX
APUE习题10.6(父子进程同步)
编写一段程序测试图10_24中父子进程的同步函数,要求进程创建一个文件并向文件写一个整数0,然后进程调用fork,接着父子进程交替增加文件中的计数器值,每次计数器值增加1,打印是哪一个进程进行来该增加1操作 没有完全按照题目要求做,直接fork之后01234这样打印的 先上一个标准输出的实现 1、写到标准输出的实现 main.c:以下实现是有问题的 问题在于:子进
测试某一段程序运行时间的方法
缘由:前两天我为了将 casia 数据集进行水平镜像,所以自己写了了个简单的程序来用。方法很简单,就是借助 opencv 逐像素进行操作。因为是逐像素进行操作,所以我也料想到会很慢。为了测试一下速度,我就在网上查了查别人用的方法。找到的方法:网上有很多方法,我找了了简单的。用到的头文件是<ctime>/<time.h>,里面有个函数clock()。网上一般都是这么用的:clock_t t_begin
Linux下测试程序运行时间
int gettimeofday(struct timeval tv,struct timezone *tz); struct timeval { int tv_sec; int tv_usec; };#include <time.h> #include <stdio.h> #include<sys/time.h>int main(void) { struct time
c++\MFC测试代码的运行时间
有时候需要测试某段代码的运行时间,在Windows平台下可以尝试以下几种方法: 方法一 利用GetTickCount函数(ms) 代码: CString str;             long t1=GetTickCount();//程序段开始前取得系统运行时间(ms)             。。。。。。//to do sth long t2=GetTickCo
C语言之测试程序运行时间
#include #include #include int BitCount2(unsigned int n) { unsigned int c =0 ; while(n!=0) { n &= (n -1) ; // 清除最低位的1 c++; } return c
父子进程之间数据的同步
最近导师让我实现她论文中的FIWI 网络中的上行DBA 算法,算法实现中需要用到IPC机制来完成记录各个服务端发送来的MPCP 的Report消息,以前读过APUE所以很快做出来了。由于论文还未发表,所以我只能在写个小程序来记录这一小技术。下面这段小程序主要完成的是让子进程来填充父进程中定义的一个结构体数组。程序存在liinux系统中,不想再开samba了,直接截图,嘿嘿...... 程序中用到
往事泪目,前行不易---一段关于国产芯片和操作系统的往事
  中兴事件引发一片网络热议。什么“这次被美国卡住的芯,一万年也要搞出来”、“中国芯老炮:缺芯是因为缺钱”“国产操作系统,要靠BAT”……这种言论看得我胸痛。       忍了几天,今天忍不住了。说说自己经历的一段往事。       不知不觉写了一万字。分几个部分:       辉煌开局、第一第二棒的困难、系统生态的困难与大溃败、复盘方舟和永中错在哪里、为什么我们做不出操作系统。        2...
程序员都是这样区分null和undefined
undefined 和 null的细节知识都在这里了,快来看看吧!
一段关于三角形的C语言代码
一段关于三角形的 C语言代码一段关于三角形的 C语言代码