java downcasting构造函数调用?

时间:2016-05-30 06:51:29

标签: java inheritance

我有Class Parent和Class Child共享继承关系。子类具有参数化构造函数。在将父类向下转换为子类时,是否会调用子构造函数?

1 个答案:

答案 0 :(得分:1)

没有。铸造与建筑无关。类X的构造函数返回类X的实例。如果有

class X { ... }
class Y extends X { ... }
X my_x = new X();
Y my_y = (Y)  my_x; <=== ClassCastExceptoin

这将抛出异常。以下方法可行:

class X { ... }
class Y extends X { ... }
X my_x = new Y();     // Note subclass constructor call
Y my_y = (Y)  my_x;   // my_x really referred to a Y instance, so this is OK