Suponiendo que la clase X es la clase padre de la clase Y, la siguiente declaración que declara el objeto x es incorrecta ().
AX x = nuevo X ();
BX x = nuevo Y ();
CY x = nuevo Y ();
DY x = nuevo X ();
Respuesta: D
La operación de transformación hacia abajo en sí misma tiene un requisito previo, y la transformación hacia abajo solo puede ocurrir después de que ocurra la transformación hacia arriba.
Implementación de código de varias opciones:
UNA
class X{
public void fun(){
System.out.println("666");
}
}
class Y extends X{
public void fun(){
System.out.println("2333");
}
}
public class Test1_1_5_1 {
public static void main(String args[]){
X x=new X(); //实例化父类对象
x.fun();
}
}
//结果
//666
si
class X{
public void fun(){
System.out.println("666");
}
}
class Y extends X{
public void fun(){
System.out.println("2333");
}
}
public class Test1_1_5_1 {
public static void main(String args[]){
X x=new Y(); //实例化子类对象,对象向上转型
x.fun();
}
}
//结果
//666
C
class X{
public void fun(){
System.out.println("666");
}
}
class Y extends X{
public void fun(){
System.out.println("2333");
}
}
public class Test1_1_5_1 {
public static void main(String args[]){
Y x=new Y(); //实例化子类对象
x.fun();
}
}
//结果
//2333
re
class X{
public void fun(){
System.out.println("666");
}
}
class Y extends X{
public void fun(){
System.out.println("2333");
}
}
public class Test1_1_5_1 {
public static void main(String args[]){
//向下转型操作本身是有前提条件的,必须发生向上转型后才可以发生向下转型。
Y x=new X(); //实例化父类对象,向下转型
}
}
//结果
//Error:(25, 13) java: 不兼容的类型: X无法转换为Y