日期:2014-05-20  浏览次数:20561 次

比较这两个的不同?
有一个类class A{}
那么Object a=new A(); 和 A a=new A();

有什么区别??

------解决方案--------------------
Object a=new A(); 
生成了一个A的的实例并转换为它的父类Object类型

A a=new A(); 
生成了一个A的的实例
------解决方案--------------------
明白点说吧,所有类都是Object的子类,所以Object a=new A(); 意思就是说,a是Object的子类A的一个实例
就像:
InputStream input = new FileInputStream();一个道理
------解决方案--------------------
Object a = new A();
a...... //methods of A class
之后可以
a = new B();
a...... //methods of B class
方便进行类型封装和转换
Object基类啊
------解决方案--------------------
Object 包含 所有对象类
NEW A() A类的对象
------解决方案--------------------
Object a = new A(); 
Object类是所有类的父类。
Object类型的引用a对于A的属性和方法是不可见的,只有经过(A)a以后才可以用A的属性和方法。
这就是所谓的多态。
------解决方案--------------------
Java code

给你举个例子
class A(){
  mm(){
    ......
  }
}
如果用
Object a = new A()
使用不成a.mm()
若用
A a = new A()
则可以使用a.mm()
这就是7楼的解释