首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

java重载函数的有关问题

2013-08-06 
java重载函数的问题public class Test {public static void main(String[] args) {A a new B()new C().

java重载函数的问题


public class Test {
public static void main(String[] args) {
A a = new B();
new C().print(a);
}
}

class A {
}

class B extends A {
}

class C {
public void print(A a) {
System.out.println("a");
}

public void print(B b) {
System.out.println("b");
}

}



这样写就是输出a,但我希望,当传递的是B类的对象的时候输出b,传递A类的对象的时候输出a
而且,这个传递的参数的类型不是确定的~~~我希望它能自己匹配合适的重载函数~~
这个该怎么写呀? Java 类 重载函数
[解决办法]
C类从新定义
public void print(A a){
  if (a instanceof B){
    print((B)a);
    return;
  }

    System.out.println("a");
 
}

热点排行