public class StaticDispatch {
static abstract class Human{
}
static class Man extends Human{
}
static class Woman extends Human{
}
public void sayHello(Human guy) {
System.out.println("hello , guy!");
}
public void sayHello(Man guy) {
System.out.println("hello , gentle!");
}
public void sayHello(Woman guy) {
System.out.println("hello , ladly!");
}
public static void main(String[] args) {
Human man = new Man();
Human woman = new Woman();
StaticDispatch sr = new StaticDispatch();
sr.sayHello(man);
sr.sayHello(woman);
}
}
"相信对"java编程稍有经验的程序员看完程序后都能得到正确的结果",摘自周大神的《深入理解Java虚拟机》,有小伙伴想挑战一下么?
static abstract class Human{
}
static class Man extends Human{
}
static class Woman extends Human{
}
public void sayHello(Human guy) {
System.out.println("hello , guy!");
}
public void sayHello(Man guy) {
System.out.println("hello , gentle!");
}
public void sayHello(Woman guy) {
System.out.println("hello , ladly!");
}
public static void main(String[] args) {
Human man = new Man();
Human woman = new Woman();
StaticDispatch sr = new StaticDispatch();
sr.sayHello(man);
sr.sayHello(woman);
}
}
"相信对"java编程稍有经验的程序员看完程序后都能得到正确的结果",摘自周大神的《深入理解Java虚拟机》,有小伙伴想挑战一下么?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货