srkp.net
当前位置:首页 >> jAvA 子父类转换 >>

jAvA 子父类转换

class A extends B{ } B b=A a; 好像是这样,父类可以实现对子类中覆写方法的使用

父类对象无法转化子类对象。 子类对象有父类对象不具备的属性、初始化需要用到的参数、内存空间。所以父类对象无法转换为子类对象。 补充: Java中父类强制转换成子类的原则:父类型的引用指向的是哪个子类的实例,就能转换成哪个子类的引用。比...

先别看父子,因为现实中总是任务父亲比儿子厉害。 而在类中, 儿子有可能比父亲厉害(比如S比F多了一个sonMethod方法),儿子能做的事情,父亲有可能不能做。 new S()的时候, 在内存中创建了一段代码。 这段代码有S的全部功能。 因为S从F继承,...

是的,java 可以自动子类转换成父类(称为向上转换),子类独有的方法和属性会隐藏。但是还是存在的,例如 A a = new B(); B b = (B) a; //强制转换 这时仍能使用而调用b的fun3();

向上转型(upcasting) 举个例子: 有2个类,Father是父类,Son类继承自Father。 Father f1 = new Son(); // 这就叫 upcasting (向上转型)

A extends B. B b = new A(); A a = (A) b. 以上是没有问题的。其实在调用paint(Graphics oldg)时所传入的参数oldg本身就是Graphics2D对象。你可以在方法的开始加上System.out.println(oldg);就明白了。

JAVA是强类型的语言。当引用对象的时候,如果是上溯的话,需要强制转换。如你上面写的, PiePlot p = (PiePlot)Plot,这就是上溯,生成实例时引用的是父类,需要强制转换,所以就需要加个(PiePlot)来声明Plot(Plot是父类)。

可以把一个父类强制转义成子类,但是可能会出现造型异常。一个子类直接就可以声明成一个父类。比如: 动物 d= new 动物(); 狗 g = new 狗(); 如果在这里动物是超类,狗是子类,可以说狗g是一个动物对象,但是一个动物对象d却不一定是一个狗。 接...

你这要能转换成功 就神奇了。 你的记住 子类继承父类的所有方法 属性 但是子类有可能有自己独有的方法 父 类没有。按照你那写法根本就不是多态 。你 写A a=new B(); 就可以了 B b=(B)aa才对

这样是不行的 不信你回去运行试试就知道 只有子类和父类之间可以相互转换 就比如说 一个“动物”类 他有两个子类 “狗”和“猫” 当然可以让动物和猫狗进行转换 因为狗是动物 猫也是动物 而不能说猫是狗 或者说狗是猫 希望对你有帮组

网站首页 | 网站地图
All rights reserved Powered by www.srkp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com