class A
{
public void test()
{
System.out.println("A:Hello");
}
public void test2()
{
System.out.println("A:World");
}
}class B extends A
{
public void test()
{
System.out.println("B:Hello");
}
public void test3()
{
System.out.println("B:Hello,World!");
}
}class C
{
public static void main(String[] args)
{
A a=new A();
call(a);
}
public static void call(A a)
{
B b=(B)a;
b.test();
b.test2();
b.test3();
}}以上的代码,在编译时没错,在运行时出了错,不知道错在哪?父类转换成子类,B b=(B)a这一句有错吗?
{
public void test()
{
System.out.println("A:Hello");
}
public void test2()
{
System.out.println("A:World");
}
}class B extends A
{
public void test()
{
System.out.println("B:Hello");
}
public void test3()
{
System.out.println("B:Hello,World!");
}
}class C
{
public static void main(String[] args)
{
A a=new A();
call(a);
}
public static void call(A a)
{
B b=(B)a;
b.test();
b.test2();
b.test3();
}}以上的代码,在编译时没错,在运行时出了错,不知道错在哪?父类转换成子类,B b=(B)a这一句有错吗?
解决方案 »
- java 程序打印中文文件出现乱码、、且格式不对
- html 中嵌入 applet的jar包,无法执行?
- 字符串转换
- 高手们给解释一下这段中的红色部分
- 关于List的isEmpty()和size()方法的疑惑!!!!
- 帮忙看一下,我想提取中文拼音缩写
- 【客户端不能向服务器端写文件是什么原因啊,急啊,大侠帮忙!!!!】
- 大家近来说说JAVA开源的几个有代表性的网站或者是项目吧~~~不要很大~~一般人都能看懂~~但要有用~~来者有分~~
- 一个简单的有关图形化编程的问题
- 请问如何获得java代码中的包,好象有许多包。多谢!
- system.out的初级问题。
- 如何让JComboBox的右边的下拉按钮变得没有边框?
A a=new A();改成A a=new B();使A指向的实质是B的存储空间
ps:向上转型的时候会遗失掉除子类与父类共有的其它方法!
现在如果你这样:Car car = new Car(); //car是指向Car类型的。
BMW bmw = (BMW)car;//这句就是错误的。我们可以说宝马是车,但你能说车是宝马吗?那奔驰,奥迪是什么?对不对?这是一个道理。
如果代码是这样的就对了。A a = new B();
B b = (B)a;