重装方法override

自己对override的理解:把原来的方法(可以是虚的)重新定义了,但是结构要差不多。具体准确率还要根据以后的实践。一下为文摘:

要扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现,必须使用 override 修饰符。

Overload意思为超载,是针对同名方法的不同表现形式,参数列表不同。例如: void f(int i); void f(int i, int j); 两个方法是overload关系 override是复写(覆盖),是完全相同的参数列表,一般用于面向对象的继承 例如: class CBase { public: virtual void f(int i); }; class CDerived : public CBase { public: virtual void f(int i); }; 这里子类的f覆盖了父类的f。 Overloaded方法返回值当然可以更改,当如果只更改返回值是不能overload的,编译会出错。但Override不可以,参数列表必须完全一样。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中的@override注解是用来标记方法覆盖父类或接口中的方法。通过使用@override注解,我们可以确保子类或实现类正确地覆盖了父类或接口中的方法,从而避免出现潜在的错误。 反射是Java中的一种机制,用于动态地调用对象的方法或访问对象的属性。通过反射,我们可以在运行时动态地获取类的信息,并调用类中的方法。 如果想要用反射调用外部方法,我们可以按照以下步骤进行操作: 1. 获取目标类的Class对象:使用Class.forName()方法获取目标类的Class对象。 2. 实例化目标类的对象:使用Class对象的newInstance()方法实例化目标类的对象。 3. 获取目标方法的Method对象:使用Class对象的getMethod()方法获取目标方法的Method对象。 4. 调用目标方法:使用Method对象的invoke()方法调用目标方法。 下面是一个示例代码,用于演示如何使用反射调用外部方法: ```java public class ReflectExample { public static void main(String[] args) throws Exception { // 获取目标类的Class对象 Class<?> targetClass = Class.forName("com.example.TargetClass"); // 实例化目标类的对象 Object targetObject = targetClass.newInstance(); // 获取目标方法的Method对象 Method targetMethod = targetClass.getMethod("methodName", parameterTypes); // 调用目标方法 targetMethod.invoke(targetObject, arguments); } } ``` 需要注意的是,在使用反射调用外部方法时,需要提供目标方法的名称、参数类型以及参数值。通过上述步骤,我们可以使用反射机制动态地调用外部方法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值