- 浏览: 98076 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
anybyb:
很详细,学习了
RSS从入门到精通(转载) -
hrsvici412:
浏览器的正中呢?布局中间放置的是iframe
Ext 中随着浏览器的变化window居中 -
Javakeith:
有点太长了!
RSS从入门到精通(转载)
一、 Java 注释( Annotation ) :
1 ) @Override 注释
该注释仅应用于方法,用来指明被其注释的方法必须重写超类中的方法,否则会发生编译错误。
2 ) @Deprecated 注释
该注释用于声明元素已经过时,不鼓励使用。如果坚持使用,可能会带来潜在问题。如下例子:
import java.util.ArrayList;
import java.util.List;
public class AnnoSamp1 {
@Deprecated
public void method1(){}
public List method2(){
List list = new ArrayList();
list.add("007");
return list;
}
}
注:此处程序代码见相册中,有实际运行情况!
方法
method1()
已经被注释为过时方法,所以如果由另外一个程序调用了
AnnoSamp1
()类的
method1()
方法,编译时会提示过时。
3 ) @SuppressWarnins 注释
SuppressWarnins 注释允许开发人员控制编译器警告的发布,例如泛型使所有的类型安全操作成为可能,如果没有使用泛型而存在类型安全问题,编译器将会抛出警告。 SuppressWarnins 使用格式为:
@SuppressWarnins( 参数名 )
参数表如下:
( 1 ) deprecated: 过时的类或方法
( 2 ) finally:finally 子句无法正常完成
( 3 ) fallthrough:switch 程序块中没有使用 break
( 4 ) serial: 类缺少 serialVersionUID
( 5 ) unchecked: 未经检查的类型转换
( 6 ) unused: 定义了但从未使用
( 7 ) all: 以上全部情况
4 ) @Target 注释
Target 注释用来限制注释的使用范围,其使用格式是:
@Target({ 应用类型 1 ,应用类型 2 , …….})
其中应用类型如下:
( 1 ) TYPE :类、接口、注释或枚举类型
( 2 ) FIELD :属性,包括枚举常量
( 3 ) METHOD :方法
( 4 ) PARAMETER :参数
( 5 ) CONSTRUCTOR :构造方法
( 6 ) LOCAL_VARIABLE :局部变量
( 7 ) ANNOTATION_TYPE :注释类
( 8 ) PACKAGE :包
二、自定义注释
可以为自己创建的注释类提供成员,例如:
Public @interface InTesting{
String value();
}
这是只有一个成员的注释(单成员注释),可以这样来使用它:
@InTesting(“This method returns all department info”)
Public void getMsg(){….}
由更简便的使用方法:
@InTesting(“This method returns all department info”)
Public void getMsg(){…}
当然,注释不只是单成员这么简单,可以更为复杂些,例如:
Public @interface InTesting{
String author();
String description() default “Testing”;
float ver();
}
三、保留策略
Java 提供了 3 种保留策略:
1 ) RetentionPolicy.CLASS: 编译后保留在 class 文件中,运行时忽略。
2 ) RetentionPolicy.RUNTIME: 编译后保留在 class 文件中,运行时 Java 虚拟机可读取。
3 ) RetentionPolicy.SOURCE: 只存在于源文件中,编译后保留在 class 文件中 .
例如:
import java.lang.annotion.Target;
import java.lang.annotion.ElementType.METHOD;
import java.lang.annotion.Retention;
import java.lang.annotion.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
@Target({METHOD})
public @interface InTesting{
String author();
String description() default "Testing";
float ver ();
}
四、读取注释
Java 的 java.lang.reflect 包中提供了 getAnnotations() 方法,以数组的形式返回注释信息。该方法可用于类、方法、构造方法等类型的对象中。示例如下:
首先来编写一个简单的类 Message ,该类的两个方法均被注释:
public class Message{
@InTesting(author = "cg ",description = " 获取备注信息 ",ver = 1.1f)
public void getMsg(){
System.out.println("get message info....");
}
@InTesting(author = "cg ",description = " 计算利润率,测试中 ",ver = 1.2f)
public void calcProfitRat(){
System.out.println("Calculate...");
}
}
接下来编写一个打印输入 Message 类所有方法注释信息的程序:
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
public class ReadAnno{
public static void main(String[] args ) throws SecurityException,NoSuchMethodException{
Class<Message> c = Message.class;// 获得 Message 类的实例
Method[] m = c.getMethods(); // 获取该类的全部方法
Annotation[] annotations;// 声明注释变量
for(Method method:m){
annotations = method.getAnnotations(); // 获得当前方法的注释信息
System.out.println(annotation);
}
}
}
程序运行后输出结果如下:
@ cn.edu.sinomacro.coursemanag .InTesting(description= 获取备注信息 ,author=cg ,ver =1.1)
@cn.edu.sinomacro.coursemanag.InTesting(description= 计算利润率,测试中 ,author=cg ,ver =1.2)
注意: cn.edu.sinomacro.coursemanag 是自定义的包名。
发表评论
-
BigDecimal的8种舍入方式
2010-11-05 16:17 1855在银行、帐户、计费等领域,BigDecimal提供了精确的数值 ... -
java取整和java四舍五入方法 BigDecimal.setScale()方法详解.
2010-11-05 16:09 2049import java.math.BigDecimal; im ... -
对BigDecimal常用方法的归类
2010-11-05 15:55 682package com.org.assistant.util; ... -
利用BeanUtils在对象间复制属性
2010-08-19 11:15 723commons-beanutils是jakarta commo ... -
前台用javaScript,后台用java裁剪图片
2010-07-21 23:17 1319总体思想: 1.前台网页用js得到裁剪图片的id及x,y,宽 ... -
面向对象程序设计的基本原则
2010-06-12 11:26 973面向对象设计根本的指 ... -
Struts2的国际化
2010-06-08 18:47 696资源文件的命名:basename_language_count ... -
JSP、JAVA获取各种路径总结
2010-06-05 11:37 18913.1 JSP中获得当前应用的 ... -
XFire 入门
2010-05-26 09:48 678Java 社区一直试图将 POJO ... -
java基本数据类型
2010-05-10 16:16 1098java基本数据类型 3.1 java基 ... -
struts2 form get中文乱码
2010-05-04 16:44 802如果用 Tomcat 5.0.1.6 以上的版本是最好處理的, ... -
@SuppressWarnings 详解
2010-04-17 11:18 768@SuppressWarnings J2SE 提供的最后一 ... -
JSTL 格式化用法
2010-04-13 16:11 881jstl中的日期格式化 <%@ taglib pref ... -
JSP自定义标签学习(基础)
2010-04-01 11:00 679自定义标签的最大的特点:利用 自定义标签,软件开发人员和页面设 ... -
Java中各种修饰符与访问修饰符的说明
2010-03-05 11:56 1141类: 访问修饰符 修饰符 class 类名称 extend ... -
SimpleDateFormat函数使用的例子
2010-03-03 14:04 640public class SimpleDateFormat e ...
相关推荐
此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...
此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...
此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...
2.3.4 Java代码中的注释23 2.3.5 常见错误解析24 2.4 Java类库组织结构和文档27 2.5 Java虚拟机简介28 2.6 Java技术两种核心运行机制29 2.7 上机练习30 第3章 3.1 变量32 3.1.1 什么是变量32 3.1.2 为什么需要变量32...
此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...
内容为J2EE应用开发详解中的源代码 第1章 Java Web应用开发简介 1 1.1 Java EE应用概述 1 1.2 Java EE概念 1 1.2.1 Java EE多层模型 1 1.2.2 Java EE体系结构 2 1.3 Java EE的核心API与组件 4 1.4 Web服务器和应用...
3.2.2jsp注释方式 37 3.2.3jsp声明方式 38 3.2.4jsp表达式的应用 39 3.2.5jsp的脚本段 39 3.2.6jsp的编译指令 40 3.2.7jsp的动作指令 41 3.2.8jsp的内置对象 43 3.3认识servlet 46 3.3.1servlet的开发 46 ...
Spring Boot中内置了多种线程池,为应用程序提供快速响应和高吞吐量的运行环境。线程池在Spring Boot中起着至关重要的作用,它能够有效地管理和复用线程,降低系统的开销。本文将详细介绍线程池的基本参数、每一种...
12.3.8内置注释386 12.3.9使用注释的一些限制390 12.4本章小结390 第13章常用工具类391 13.1Runtime类的使用391 13.1.1内存管理392 13.1.2执行其他程序393 13.2System类的使用395 13.2.1利用...
5、Spark案例实战的代码,几乎都提供了Java和Scala两个版本和讲解(一次性同时精通Java和Scala开发Spark); 6、大量全网唯一的知识点:基于排序的wordcount,Spark二次排序,Spark分组取topn,DataFrame与RDD的两种...
Fuck加密机(不支持注释不支持双斜杠不支持ui).js funnyEncoderPlus2.0.js gestures动作数据生成.js getPixels参数详解.js gitee-webhook.js git常用命令.js gpsui.js gps时间获取.js HAHA小视频无限撸money...
JSP 语法...............................................................Java 程序片......................................40 2.4 表达式...........................................45 2.5 JSP 中的注释...........