`
china34420
  • 浏览: 133547 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java 中的覆盖@Override注解 写与不写的一点点理解

    博客分类:
  • Java
阅读更多
/*俺的菜鸟笔记
	Java 中的覆盖@Override注解 写与不写的一点点理解
	一般来说,写与不写没什么区别,JVM可以自识别
	写的情况下:即说明子类要覆盖基类的方法,基类必须存在方法
						(控制类型public,protected,返回值,参数列表类型)与子类方法完成一致的方法,否则会报错(找不到被Override的方法)。
	在不写@Override注解的情况下,当基类存在与子类各种条件都符合的方法是即实现覆盖;
	如果条件不符合时,则是当成新定义的方法使用。
	所以如果想覆盖基类方法时,最好还是写上@Override注解,这样有利于编译器帮助检查错误
*/
//示例:
public class OverrideTest extends Test{
	@Override//此处写与不写都能覆盖基类的t(String)方法
	public void t(String s){
		System.out.println("OverrideTest.t(String):" + s);
	}
	//此处不能写@Override注解,因为方法参数类型与基类的t2方法的参数类型不同
	//所以此处只能新定义了一个t2(float)方法,并不能实现覆盖
	public void t2(float f){
		System.out.println("OverrideTest.t2(float):" + f);
	}
	public static void main(String[] args){
		OverrideTest ot = new OverrideTest();
		ot.t("china34420");
		ot.t2(1.0f);
		ot.t2(1);
		ot.t3();
	}
}
/*输出:
	OverrideTest.t(String):china34420
	OverrideTest.t2(float):1.0
	Test.t2(int):1
	OverrideTest.t(String):override
*/

class Test{
	public void t(String s){
		System.out.println("Test.t(String):" + s);
	}
	public void t2(int i){
		System.out.println("Test.t2(int):" + i);	
	}
	public void t3(){
		t("override");	
	}
}
分享到:
评论
2 楼 likoaong 2017-09-08  
。。。。。。
1 楼 niaomingjian 2015-10-29  
好像是这样子的。

相关推荐

    java关于@override.md

    对Java中@override个人理解阐述,希望能帮大家更好理解。

    分享一下@Override标签背后的小秘密

    很好很好的Java知识,一个关于Java标签的技术知识,非常的好用哦

    观看韩顺平学习整理java的笔记到异常

    帮助大家复习java基础知识其中有 hashCode 2 toString 2 finalize 2 用已学知识做出简单的房屋出租系统 3 类方法使用注意事项和细节讨论 4 main()方法 4 代码块 4 代码块使用注意事项和细节 5 单例模式 6 final...

    详解Java中@Override的作用

    主要介绍了详解Java中@Override的作用的相关资料,希望通过本文能帮助到大家,让大家理解这部分内容,需要的朋友可以参考下

    android @override 报错解决方案

    现象: … java: 1801: method does not override a method from its superclass @Override… 原因: Eclipse is defaulting to Java 1.5 and you have classes implementing interface methods (which in Java 1.6 ...

    Java零基础-方法覆盖.md

    理解@Override注解的作用和使用方式。 了解方法覆盖时的一些规则,如访问修饰符、返回类型和异常处理等。 阅读建议: 建议读者在阅读前具备Java的基础知识,包括类、对象、方法和继承等概念。 在阅读过程中,尝试...

    Java重写(Override)&重载(Overload).pdf

    在 Cat 类中,使用相同的名称和参数列表来重新定义了 move() 方法,并且使用 @Override 注解向编译器说明这是一个重写方法。 class Animal { public void move() { System.out.println("动物可以移动"); } } ...

    阿里巴巴 Java 编码指南 pmd 实现和 IDE 插件

    为了准确判断覆盖是否成功,需要使用@Override注解。同时,一旦抽象类中的方法签名发生更改,实现类将立即报告编译时错误。 [Mandatory]静态字段或方法应直接通过其类名而不是其相应的对象名来引用。

    java中注解的使用与实例

     @Override,表示当前的方法定义将覆盖超类中的方法。  @Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。  @SuppressWarnings,关闭不当编译器...

    注解的使用 注释文档的生成

    默认注解:@Deprecated @Override ... 自定义注解:public @interface FirstAnno {} #@interface 元注解:加在自定义注解的类接口上 @Retention(RetentionPolicy.RUNTIME ) SOURCE 给编译器看的# 源码存在,字节码不...

    loveincode#notes#Multiple markers at this line @Override的解决方法1

    使用Eclipse 进行项目开发,在实现类中的方法前面如果添加@Override就提示“Multiple markers at this line”的错误,问题

    9.尚硅谷_java基础_枚举&注解

    枚举 定义 自实现枚举类 使用 enum 定义枚举类 实现接口的枚举类 枚举类的方法 注解

    Java零基础-继承.md

    熟悉使用@Override注解重写父类方法和使用super关键字调用父类方法。 阅读建议: 建议读者在阅读前具备Java的基础知识,包括类、对象、方法和成员变量等概念。 在阅读过程中,尝试编写简单的Java程序,创建并使用...

    java注解与反射的基本使用(这一篇就够了!)

    相信大家对注解应该并不陌生,在现在信息飞速发展的年代,各种优秀的框架或许都离不开注解的使用,像我们在实现接口一个方法时,也会有@Override注解。注解说白了就是对程序做出解释,与我们在方法、类上的注释没有...

    java用填充多边形的方法填充一个三角形Demo

    java用填充多边形的方法填充一个三角形 主要代码: Icon icon = new Icon() { @Override public void paintIcon(Component c, Graphics g, int x, int y) { Graphics2D g2d = (Graphics2D) g; ...

    Java实现的树以及包含树的内存缓存框架

    随手写了一个TreeNode,顺道实现了个对应的内存缓存框架,适用于数据量不大,更新也少但是反复要读的数据,比如模块信息/组织结构/频道栏目/权限等。 PS:Java是可以直接操作内存的,只是现在的框架整合让人退化了。...

    覆盖(Override)---马克-to-win Java视频

    覆盖 Override 马克-to-win Java视频的能详细的介绍

    覆盖(Override)2---马克-to-win java视频

    覆盖 Override 马克-to-win java视频的详细描述介绍

    Java 注解

    提到注解,我们会不由的想到注释,其实注解和注释不是一个东西,注释的作用就是解释代码,方便理解和阅读,说白了就是给程序员看的。而注解则不是,注解的作用比较大,可以进行编译检查、生成doc文档或者进行代码...

Global site tag (gtag.js) - Google Analytics