向上转型,有什么用咧.??什么时候用得向上转型,就是说,什么时候需要A a= new B();这样产生引用对象啊?/
解决方案 »
- jsoup可以获取html的标签名称吗?能的话怎么获取啊?
- unit test 的 dummy 方法
- hibernate 怎么配置id为int的??我查询修改都错
- 如何给一个 Date型变量赋 0值,请大家帮忙!谢谢!
- struts 难以描述的表单验证问题
- 字符串判断是否在<a></a>里面
- struts+hibernate 效率问题
- [求助]部署在jboss3.2.5上的应用通过Axis调用Web Service总是报错
- 一个弱弱的问题,网上下的开源项目的java代码应该如何查看啊?
- jb8+weblogic7 二个问题请教
- 知道类名class,怎么找到他所在的jar?
- 关于Hibernate日志的问题!
Class B extends A{}
class A
{
public void print(){}
}
class B extends A{
public void print(){}
}
class C extends A{
public void print(){}
}class Test
{
public void testa(A a)
{
a.print();
}
public static void main(String[] args)
{
A a = new B();
A a1 = new C();
Test t = new Test();
t.testa(a);//调用B中的public void print(){}
t.testa(a1);//调用C中的public void print(){}
}
}
简单的说
A a = new A();
第一个A是一个类型
a是一个对象的名字(就像指针一样,在Thinking in Java中它还有一个名字叫:Ref)
new A();是一个构造函数。
同样的理解
A a = new B();
要把
B的构造结果返回给A类型
说明要么他们是同一个对象
或者是父子关系。
而
A a = new B();
我们通常用在向上转型的时候