关于下面程序,哪些选项的结论是正确的?
class J_Animal{
public void mb_index(){ System.out.println("1"); }
}
class J_Dog extends J_Animal{
public void mb_index(){ System.out.println("2"); }
}
class J_Cat extends J_Animal{
public void mb_index(){ System.out.println("3"); }
}
public class J_Test{
public static void main(String args[]){
J_Animal d=new J_Dog();
d.mb_index();
d=new J_Cat();
d.mb_index();
}
}
A 程序可以通过编译并正常运行,结果输出“23”
B 程序可以通过编译并正常运行,结果输出“11”
C 程序无法通过编译,因为类型转换不合法
D 程序无法通过编译,因为类J_Animal的定义不对
class J_Animal{
public void mb_index(){ System.out.println("1"); }
}
class J_Dog extends J_Animal{
public void mb_index(){ System.out.println("2"); }
}
class J_Cat extends J_Animal{
public void mb_index(){ System.out.println("3"); }
}
public class J_Test{
public static void main(String args[]){
J_Animal d=new J_Dog();
d.mb_index();
d=new J_Cat();
d.mb_index();
}
}
A 程序可以通过编译并正常运行,结果输出“23”
B 程序可以通过编译并正常运行,结果输出“11”
C 程序无法通过编译,因为类型转换不合法
D 程序无法通过编译,因为类J_Animal的定义不对