java覆盖父类的方法_java:使用@Override,下面调用一个父类的方法,是不是就将原来的父类覆盖了?...

展开全部

@Override,标示方32313133353236313431303231363533e4b893e5b19e31333337613133法重写的注解,JDK 1.5添加到java.lang包中。该注解作用于方法上,表示该方法是对父类方法的重写。

JDK 1.5推出注解后,Java.lang包中添加了@Override,注解源码很简单:@Target(ElementType.METHOD)

@Retention(RetentionPolicy.SOURCE)

public @interface Override {

}

由源码可以知道,这个注解是作用在方法级别的,作用域是源码级别,也就是在编译的时候这个注解会被解析,在运行时会被丢弃。

标记了该注解表示注解的方法是重写的父类的,因此编译器会在编译阶段检查方法签名,如果在父类中未发现同样的方法(指的是方法签名),编译器会抛出编译错误。在JDK 1.5之前子类重写父类方法都是人为保证的,有了该注解,可以提供两方面好处:

(1)能保证子类确实重写了父类方法,避免出现因为拼写等原因造成的人为重写失败,比如

子类A重写了方法service,但是由于不小心写成了services,这样编译不会发生错误,运行时调用的是父类的service,错误难以查出。

(2)通过源码就可以知道该方法是被重写过的,方便开发。

在JDK 1.5中,该注解声明的方法必须是重写的父类方法,不能是接口方法。JDK 1.6允许对接口的实现方法添加这个注解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值