文献:http://www.verydemo.com/demo_c89_i222168.html
public class Driver {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void drive(Vihecle v) {
v.go(this,new Address("武汉"));
}
}
public abstract class Vihecle {
public abstract void go(Driver d,Address dest);
}
public class Address {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Address(String name) {
super();
this.name = name;
}
}
public class Car extends Vihecle{
public void go(Driver d,Address dest) {
System.out.println(d.getName()+"开车去" + dest.getName());
}
}
public class Plane extends Vihecle{
@Override
public void go(Driver d, Address dest) {
// TODO Auto-generated method stub
System.out.println(d.getName()+"坐飞机去" + dest.getName());
}
}
public class Test {
public static void main(String[] args) {
Driver d = new Driver();
d.setName("杨小聪");
d.drive(new Car());
d.drive(new Plane());
}
}