关于JDK5.0中预定义的解释
来源:互联网 发布:拾色笔 淘宝 编辑:程序博客网 时间:2024/06/14 10:12
我们先来看一下,下面这段代码:
public class B extends A {
@Override
public void test1() {
// TODO Auto-generated method stub
super.test1();
}
}
@Override
public void test1() {
// TODO Auto-generated method stub
super.test1();
}
}
上面这段代码很简单,创建一个类,类的名字为B 同时让这个B类继承与A类,在A类中有一个方法叫 test1 ,现在我们想在B类中覆盖A类的test1方法,我们会看到代码中会出现 @Override 一句注释,它是用来干什么的呢?有很多学习Java的朋友,都会将他删除掉,那么我们就一起来看看它的作用吧。
首先我们来创建一个类,类的名字叫做 A 具体源代码如下:
package com.zsw.test;
public class A {
public void test1() {
System.out.println("This is test1 moeth in A");
}
}
public class A {
public void test1() {
System.out.println("This is test1 moeth in A");
}
}
我们再来创建一个类,类的名字叫做 B 并且让B类继承于 A 类,我们想在B类中重写A类中的test1方法,但是这时我们不小心将方法名写成 testl(这里不是test1 而是字母中的 L ),源代码如下:
package com.zsw.test;
public class B extends A {
public void testl() {
System.out.println("This is test1 method in B");
}
}
public class B extends A {
public void testl() {
System.out.println("This is test1 method in B");
}
}
我们发现我们的方法名称写错了程序并没有报错,但是我们想要覆盖的 test1 方法功能并没有实现而是为B类中有添加一个新的方法 testl(这里是L)
最后我们在写测试类 Test的时候执行结果怎么都不对。
package com.zsw.test;
public class Test {
public static void main(String[] args) {
A a = new B();
a.test1();
}
}
总是打印的是 A类中的 test1 方法。这种情况在初学这种经常出现,那么怎么能够避免这种问题呢,这就要用到我们上面的那句注释了。现在我们在B类的方法前加上注释 我们再来看看,发现B类的代码报错了public class Test {
public static void main(String[] args) {
A a = new B();
a.test1();
}
}
因为这句注释的意思是说这里覆盖的是A 类中的test1方法而现在所写的方法没有进行覆盖。这样我们就很容易避免上面所出现的错误了。
当然在JDK5.0中还有很多其他的一些注释比如:
@Deprecated 方法已过期,不再推荐使用。在一个方法上面写类这句注释就会出现下面的情况:
关于更多的一些注释,可以参考一下JDK5.0帮助。
- 关于JDK5.0中预定义的解释
- JDK5.0中注释(Annotation)的用法
- JDK5.0中注释(Annotation)的用法
- JDK5.0中注释(Annotation)的用法
- JDK5.0中注释(Annotation)的用法
- JDK5.0中注释(Annotation)的用法
- JDK5.0中注释(Annotation)的用法
- {java}{难题}关于JDK5中Double-Checked Locking的问题
- 常见预定义的宏解释:__DATE__,__TIME__,__FILE__,__LINE__
- XML语法—XML中5个预定义的实体引用及对应的英语解释
- 关于预定义
- JDK5.0的collection
- jdk5.0的特性
- ARM编译器中预定义的宏
- ARM编译器中预定义的宏
- ADS中添加预定义的宏
- XML中预定义的实体引用
- Makefile中预定义变量的含义
- 编程心得(二):关于数据分页
- SQLSERVER查看版本
- 关于“结构体变量名代表什么”的理解
- 文档分享,你有商业模式吗?
- WebNoteEditor 新增风格样式功能
- 关于JDK5.0中预定义的解释
- Run-Time Check Failure #2 - Stack around the variable 'cz' was corrupted.
- Maemo Linux手机平台: 安装Maemo SDK
- 学习网络协议(一)ARP
- Head First C# 中文野生版 图文皆译 (page36)
- Skinned Mesh原理解析和一个最简单的实现示例
- CCR&迭代器
- 中国企业离裁员还有多远?
- 接下来一两个月,IIS&DreamweaverMX&PHP