相同方法名,参数类型不同,传NULL参数。先调用谁?
如
void a(Object o){
...
}
void a(String s){
...
}
public void main(String args[]){ a(null);}猜猜调用的是哪个方法?好吧,我承认是调用void a(String s)
求大神说明其原因!java 参数 null
如
void a(Object o){
...
}
void a(String s){
...
}
public void main(String args[]){ a(null);}猜猜调用的是哪个方法?好吧,我承认是调用void a(String s)
求大神说明其原因!java 参数 null
解决方案 »
- Spring 注入问题
- 用java-xmx256m-jar不能解压glassfish
- 根据当前时间返回去除节假日,和周六日的天数后10天的时间
- 急!请高手帮忙解答
- spring 事务不回滚
- 关于将sql数据放入数组,使得可以在jsp中调用并显示的问题
- 有研究sun的宠物店1.3.1的朋友们吗,进来
- jboss3连接mysql的问题
- java 里的 socket 问题,高手们请进
- android使用socket单例时,多个activity怎么使用同一个socket接收数据
- 弱弱的问个Hibernate查询的问题.
- HibernateSessionFactory.getSession()函数为什么返回null值?
public class TestOverride {
static void a(A a) {
System.out.println("A...");
}
static void a(B b) {
System.out.println("B...");
}
public static void main(String[] args) {
a(null);
}
class A{
}
class B extends A {
}
}首先,输出为:B..
其次,如果将B类的extends去掉,就会编译不过,错误信息是“a(null)”这种调用会造成混淆。而如果有继承关系,编译就会通过。
return null;
}
String x = foo();
a(x); // 显然调用a(String),同理
Object y = foo();
a(y); // 不管foo()实际返回的类型,还是foo的签名,只管y的声明类型,调用a(Object)