我有Class Parent和Class Child共享继承关系。子类具有参数化构造函数。在将父类向下转换为子类时,是否会调用子构造函数?
答案 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