我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:六合公式 > 方法多态 >

JAVA多态中问题

归档日期:07-02       文本归类:方法多态      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  2018-09-20展开全部子类继承父类,会从父类继承所有的属性和方法,子类对象看似是访问了父类的方法,实则是访问了自己从父类继承过来的方法,是自己的方法更多追问追答追问也就是说现在对象a中既有A类中的方法又有B类中的方法?追答A a = new B();

  等号右边的new B();这个对象是包含了子类重写后的m1,从父类继承的m2和自己定义的m3 三个方法的

  但是这个对象被赋值给了A类型的变量a,由于类型的限制,变量a只能访问在A类中声明了的方法,也就是只能访问m1和m2,并访问不到m3 方法,因为A类里面没有这个方法追问最后一个问题,

  //这么做强制转换是可以的,因为变量a对应的对象实例就是B类的对象,这么转换没有问题

  //强制将一个父类对象转成子类型,这是会出异常的追问有个地方没太懂,强制转换成B类型之后依旧还是受到A类型限制吗?追答强制类型转换之后他就变成了B类型了,自然就不受类型限制了,可以访问B类中定义的方法追问全部搞懂了,非常感谢!

本文链接:http://renfriends.com/fangfaduotai/646.html