您好、欢迎来到现金彩票网!
当前位置:21点 > 子类 >

java向上转型怎么不能调用子类独有的方法????

发布时间:2019-06-27 05:00 来源:未知 编辑:admin

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

  展开全部给你举个例子吧:一个普通汽车Car类具有run方法,该方法的作用是输出一句线公里”;另有一个子类FlyCar,即会飞的汽车,该类把run方法重写了,输出的是“我每小时跑200公里”,又多了一个fly方法,输出“我每小时飞500公里”,然后再main函数中,定义一个Car的对象car1=new FlyCar();具体代码如下:

  car2虽然也是Car类的对象,但他的身体(也就是内存中的表示)是用new FlyCa()创建的,所以身体里确实有fly方法,而且run方法也是FlyCar中定义的方法(因为子类把父类的同名方法进行了覆盖,即内存里没有了父类方法),但是由于car2的变量类型是Car类型,所以它只认为自己就是一个普通的Car,只知道自己具有run方法,根本不可能知道自己还有fly方法。所以它可以调用run方法,但是执行的是子类定义的run方法,但它不知道自己具有fly方法,当然也不能调用了。

  向上转型只能够调用子类重写的方法,子类独有的方法在父类中根本没有定义,所以父类无法找到子类独有的方法。

http://korinkorin.com/zilei/104.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有