两个实例的实例化方式是否相同?

joy*_*joy -2 java

Object a=new Object();
Orange o=(Orange)a;


Orange orange=new Orange();
Run Code Online (Sandbox Code Playgroud)

o和橙都以不同的方式实现.他们的行为是否相同?(可以调用Orange类的所有实例方法和字段)

Tho*_*s W 8

号a是不是一个橘子,它是Object类型; 并且不能向下转换为橙色(运行时错误),因为它不是.

orange是橙色的.它可以被赋值(没有强制转换)或者输入Object,然后可以将它转换回Orange; 因为实际引用(在运行时)是 Orange的一个实例.

在创建时,在调用构造函数时设置Java实例类型.永远不可能将对象的实际类型更改为其他类型.