java多态的应用 - Java / Java SE
interface animal{
void sayHi();
String getName();
}
class dog implements animal{
public void sayHi(){
System.out.println("I am "+getName()+bark());
}
public String bark(){
return "wang-wang";
}
public String getName(){
return "Bob.";
}
}
class bulldog extends dog{
public String getName(){
return "Mike.";
}
public String bark(){
return "wow-wow";
}
}
public class test2{
public static void main(String args[]){
animal b=new bulldog();
dog d=(dog)b; //A
check(d);
dog dd=(bulldog)b; //B
check(dd);
}
public static void check(dog d){
System.out.println("I am "+d.getName());
}
public static void check(bulldog d){
System.out.println("I am "+d.getName());
}
}
//A和B处怎么理解的阿?B处dog dd=(bulldog)b;是父类dog引用指向子类对象bulldog吗?A处理解成将一只公狗强制转换成一只狗?然后调用check(dog d)方法,d.getName();怎么还是调用公狗的getName()方法?
要晕了啊...
{{----
相关问答:
我在 java核心技术上 看了一个 利用 Java socket email的例子 可是怎么也 不成功 为什么?
源码
Java code:
package cn.com.test.email;
import java.awt.GridBagLayout;
import java.awt.event.Action ......
为什么HTML以及一些其它标签会显示一些特定表现形式呢?如HTML中的换行标签<BR/>在底层是怎样实现的呢?现实的原理是什么呢
去W3C官方网站上,看看吧!我想一看你就明白了
我猜和编译原理有关,浏览器里可 ......
insert into [ScholarshipManagement].[dbo].[department] ([department],[specialization] ,[grade]) output inserted.departmentID values(? ,? ,? )
请问大哥们这个sql 语句应该用Java里的那个数据库操作方法? ......
我写了个jsp页面,然后改动了一下,改动的内容就是在jsp页面的js函数里加了个alert()语句,但是我访问这个页面时,死活都是原来页面的内容,我加了很多alert函数还是没改动前的页面内容;tomcat重启了,也重新部署这 ......