0 0

1个答案 按时间排序 按投票排序

0 0

@Override 这个注解的意思就是覆盖。

class Homer{
	char doh(char c){
		System.out.println("doh(char)");
		return 'd';
	}
	
	float doh(float f){
		System.out.println("doh(float)");
		return 1.0f;
	}
}
public class Lisa extends Homer {
	@Override 
	void doh(Milhouse m){
		System.out.println("doh(Milhouse)");
	}
}

Lisa类继承了Homer,并且覆盖了原来Homer类中的方法 doh,你这里用了@Override就是覆盖的意思。那么java就按照你的意思去父类Homer中找那个定义相同的doh方法,void doh(Milhouse m),结果没找到,因为Lisa类里面的doh定义,它的参数是Milhouse m 所以报错了
那么你在父类Homer增加相同声明的方法
class Homer{
	char doh(char c){
		System.out.println("doh(char)");
		return 'd';
	}
	
	float doh(float f){
		System.out.println("doh(float)");
		return 1.0f;
	}

	void doh(Milhouse m) {
		// TODO Auto-generated method stub
		return;
	} 
}
这样Lisa覆盖doh方法的时候就能在父类Homer中找到要覆盖的目标了,这样就不报错了。


情况二,如果你去掉 @Override 注解
public class Lisa extends Homer {
	void doh(Milhouse m){
		System.out.println("doh(Milhouse)");
	}
}

就是重载的意思,Lisa类对父类Homer中的doh方法进行了一次重载。重载的意思简单来说就是
Lisa lisa = new Lisa();
char a = 'a';
Milhouse m = new Milhouse();
lisa.doh(a);     //调用父类Homer中的char doh(char c)
lisa.doh(m);     //调用Lisa中的void doh(Milhouse m)

2008年6月24日 15:30

相关推荐

    java通用注解API

    - 注解(Annotation)是Java SE 5.0引入的新特性,它是一种用于向编译器或JVM提供元数据的方式。 - 注解通过`@`符号后跟注解类型的名称来应用,如`@Override`,`@Deprecated`等。 - 注解可以应用于类、接口、字段...

    Java Annotation注解技术

    Java Annotation注解技术是自Java SE 5.0版本引入的一种元编程机制,它允许程序员在源代码的各个层面(如类、方法、变量等)添加元数据,以供编译器、JVM或第三方工具在编译时或运行时进行处理。Annotation简化了...

    JAVA SE API HELP

    Java SE(标准版)API(应用程序接口)是Java编程语言的核心组成部分,它为开发者提供了大量预定义的类和方法,使得开发Java应用变得更加便捷。这个API文档,"JAVA SE API HELP",是一个重要的学习资源,它包含了...

    java SE的jdk1.8 API文档 chm格式

    枚举类型如`java.util.concurrent.TimeUnit`,注解如`@Override`、`@Deprecated`等。 9. **泛型**:Java 5引入的泛型机制,用于在编译时检查类型安全,并且所有的强制转换都是自动和隐式的,提高了代码的重用率。 ...

    Java基础入门四泛型反射注解.pdf

    注解是Java SE 5中的另一个新特性,它提供了一种机制,用于将任何信息或元数据与程序中的元素(如类、方法、变量等)关联起来。注解不会直接影响代码的操作,但可以被编译器读取,以执行某些特定任务,比如生成额外...

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 第09章_枚举&注解(共22页).rar

    注解是Java 5引入的另一个重要特性,它提供了一种元数据机制,用于向编译器、JVM或工具提供关于代码的信息。注解不会直接影响程序的运行,但可以被编译器或工具读取,用于代码分析、验证、优化等目的。 **注解的...

    JAVA SE内容详解

    09_Java注解.doc讲解了Java注解(Annotation)的使用,它是元数据的一种形式,可以提供编译器和运行时的信息,用于代码的自我描述,如@Override、@Deprecated等,以及自定义注解的创建和解析。 6. **泛型** 泛型...

    Java SE重点总结

    Java SE,全称为Java Standard Edition,是Java平台的核心部分,主要面向桌面应用和服务器端开发。这个学习总结涵盖了从基础到高级的Java编程知识点,旨在帮助初学者建立坚实的编程基础,同时也适合有经验的开发者...

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 第09章_枚举&注解(共22页).pptx

    Java SE是Java标准版的缩写,是Java平台的核心,提供了丰富的API和工具,供开发者进行桌面应用开发。本精品课程旨在提供一个全面且深入的Java基础知识培训,适合初学者和有经验的开发者进行自我学习和知识巩固。课程...

    【Java基础笔记】枚举和注解.docx

    - 基本注解:Java预定义了一些注解,如`@Override`表示方法重写,`@Deprecated`表示不推荐使用。 - 自定义注解:开发者可以定义自己的注解,通过`@interface`关键字创建。 3. **保留策略**: - 编译期:注解信息...

    java se的基础用法学习 Java学习资料

    这个压缩包文件"java-se-master"很可能包含了一系列关于Java SE基础知识的学习资料。以下是对这些知识点的详细说明: 1. **Java环境配置**:在开始Java编程之前,你需要安装JDK(Java Development Kit),并设置好`...

    java中注解的使用与实例

    Java SE5内置了三种标准注解:  @Override,表示当前的方法定义将覆盖超类中的方法。  @Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。  @...

    Java SE 6 类库查询手册-带目录书签文字版

    10. **注解(Annotation)**:Java SE 6引入了注解,这是一种元数据,可以附加到源代码的不同部分,用于编译器检查、运行时处理或自动生成代码。例如`@Override`、`@Deprecated`和`@ SuppressWarnings`等。 这本...

    Java-WebSocket-1.3.9.jar

    5. **兼容性**:Java-WebSocket库努力保持与WebSocket规范的最新版本兼容,并且支持多种Java运行环境,包括Java SE和Java EE。 在实际开发中,使用"Java-WebSocket-1.3.9.jar"时,你需要将其加入到项目的类路径中,...

    Java SE基础 API代码练习 Java学习资料

    Java SE(标准版)是Java开发平台的核心部分,主要用于桌面应用程序的开发。API(Application Programming Interface)是一组预定义的类、接口和其他工具,开发者可以使用它们来构建Java应用程序。这个压缩包“java_...

    Java 注解+动态代理的一个实例

    - **定义**:注解是Java SE 5.0引入的一种声明式元数据机制,可以在源代码中添加标记,为程序提供元数据信息。 - **应用场景**:常用于框架开发,如Spring框架中的`@Service`、`@Autowired`等注解,它们被框架解析...

    java api中文文档

    Java 1.6还引入了新的注解,如@Deprecated用于标记过时的API,@Override用于确保方法覆盖父类方法,以及@ SuppressWarnings用于抑制编译器警告。 接着,我们来看"java_api_1.8中文文档",即Java 1.8,这个版本引入...

    JAVA SE API 1.8 中文手册

    9. **注解**: 允许在代码中添加元数据,用于编译时或运行时的处理,如@Override、@Deprecated等。 10. **国际化**: Locale类和ResourceBundle类支持多语言环境,方便进行全球化开发。 11. **Swing和JavaFX**: 两个...

    java2se 中文帮助文档

    10. **注解(Annotation)**:元数据,可以提供编译时或运行时的信息,如@Override、@Deprecated、@ SuppressWarnings等。 11. **Lambda表达式**:Java 8引入的新特性,简化了函数式编程,如匿名内部类、函数接口和...

    JAVA API1.5中文帮助文档

    例如,@Override注解可以确保重写父类的方法,@Deprecated标记过时的方法,而@Override和@Autowired则常用于Spring框架中。 自动装箱与拆箱是Java 1.5的另一亮点,它简化了基本类型与包装类之间的转换,提高了代码...

Global site tag (gtag.js) - Google Analytics