父类Java代码:
package test;
public class Car {
public void car(Other o){
System.out.println(this);
o.process(this);
}
}
子类Java代码:
package test;
public class Audi extends Car{
}
这个类里面有两个重载的方法,参数分别为父类和子类
Java代码:
package test;
public class Other {
public void process(Audi a){
System.out.println("Audi");
}
public void process(Car c){
System.out.println("Car");
}
}
测试类:
package test;
public class Test {
public static void main(String[] args) {
Other o = new Other();
Car c = new Car();
c.car(o);
Audi a = new Audi();
a.car(o);
}
}
this代表的是调用该方法的当前对象,当我用Audi的对象调用car方法时,this指代的是Audi对象,执行o.process(this);方法是应该是执行的Other
类里面的
public void process(Audi a){
System.out.println("Audi");
}
才对,为什么两次打印的都是Car呢,我很疑惑
|