新手 java 多态

c++ 的多态里面 父类函数要加virtual设置为虚函数。
java 里面是不是 不用加关键字直接重写父类函数就好了,
还有发生多态后,如果要在类的外部调用被重写的父类函数要怎么做呢

0

3个回答

第一个问题,不需要。但是可选的,可以在函数上加上@override注记。
第二个问题,反射得到基类方法,然后直接调用。这种方式打破了封装性,能用到的场景非常罕见。

0
caozhy
caozhy 之所以java可以实现反射,是因为一个类有什么字段、方法,一个方法有什么参数返回值之类的信息是编译在代码里的。而c++的程序没有这些元数据。
2 个月之前 回复
caozhy
caozhy 回复weixin_41423378: 反射就是运行时查询类型,创建对象和动态调用方法。类似mfc的rtti机制,不过后者非语法特征,而是通过宏实现的。
2 个月之前 回复
weixin_41423378
weixin_41423378 反射到底是干嘛的 看了半天没看懂
2 个月之前 回复

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
反射就是不需要new 拿着类的字节码文件对象,解剖它,从而获取其中的构造,成员等,进而可以调用执行。

0

如果想调用父类的方法,super.方法名就行,在覆写的过程中在子类方法名上加@override ------善知软件培训

0
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!