一.Java注释的主要种类
对于Java注释我们主要了解三种:
1.单行注释://注释文字
2.多行注释:/*注释文字*/
3.文档注释:/**注释文字*/
二.文档注释说明
/**注释文字*/注释若干行,并写入javadoc文档,通常这种注释的多行写法如下:
/**
*注释文字
*注释文字
*/
javadoc提取注释的工具/**注释内容*/
注:注释内容即不会被编译的内容,只是解释说明。
例子:
import java.awt.*; //导入awt包
import java.applet.*;
import java.awt.Color; //导入awt中的Color类
public class extends Applet implements Runnable {//实现Runnable接口创建线程
Image buffer;// 定义图像对象
Graphics gContext;// 定义图形上下文
Thread animate;// 定义一个线程
String s = "这是文字动画";
int w, h, x, y, size = 12; // 定义整形变量并赋值
/**
* Applet初始化
*
* @see java.applet.Applet
* @return 无
*/
public void init() {
w = getWidth();// 返回组件的当前宽度。
h = getHeight();// 返回组件的当前高度。
buffer = createImage(w, h);// 创建一个宽W高H的图形区域。 (创建一幅用于双缓冲的、可在屏幕外绘制的图像)
gContext = buffer.getGraphics();// 获得图像使用的图形上下文
gContext.setColor(Color.blue);// 设置图形上下文的当前颜色为蓝色
}
/**
* Thread 线程启动操作
*/
public void start() {
// 开始animate线程
if (animate == null) {
animate = new Thread(this);
animate.start();
}
}
/**
* Thread 线程终止时的处理操作 以释放资源
*/
public void stop() {
// 结束animate线程
if (animate != null)
animate = null;
}
/**
* Runnable接口的实现
* 执行所需的操作
*/
public void run() {
while (true) {
//X,Y的坐标设定
x = (w - s.length() * size) / 2;
y = (h + size) / 2;
gContext.setFont(new Font("宋体", Font.PLAIN, size));
gContext.drawString(s, x, y);//绘制一串字符s内容的文本
repaint();//重画图形
try {
animate.sleep(50);//线程休眠50ms
} catch (InterruptedException e) {// 捕获异常
}
gContext.clearRect(0, 0, w, h);/*通过使用当前绘图表面的背景色进行填充来清除指定的矩形.0 - 要清除矩形的x 坐标。0 - 要清除矩形的 y 坐标。w - 要清除矩形的宽度。h - 要清除矩形的高度。*/
if (++size > 40)
size = 12;
}
}
/**
* Applet画图操作方法
*
* @see java.applet.Applet
*/
public void paint(Graphics g) {
g.drawImage(buffer, 0, 0, this);//绘制指定的buffer的图像
}
/**
* Applet刷新操作,重新绘制图形
*
* @see java.applet.Applet
*/
public void update(Graphics g) {
paint(g);//重新调用paint函数绘制图形
}
}
三.注释的作用
通过注释可以提高Java源程序代码的可读性,使得Java程序条理清晰,易于区分代码行与注释行。另外通常在程序开发头加入作者,时间,版本,要实现的功能等内容注释。方便后来的维护以及程序员的交流。
四.java注解
内置注解
@Override 用于检测是否覆盖
@Retention元注解
@Deprecated的作用是对不应该在使用的方法添加注解(也就是提示你过时了),当编程人员使用这些方法时,将会在编译时显示提示信息,它与javadoc里的@deprecated标记有相同的功能,准确的说,它还不如javadoc @deprecated,因为它不支持参数。
@SuppressWarnings,其参数有:(一个注解就是一个类。)
deprecation,使用了过时的类或方法时的警告
unchecked,执行了未检查的转换时的警告
fallthrough,当 Switch程序块直接通往下一种情况而没有 Break时的警告
path,在类路径、源文件路径等中有不存在的路径时的警告
serial,当在可序列化的类上缺少serialVersionUID定义时的警告
finally,任何 finally子句不能正常完成时的警告
all,关于以上所有情况的警告
Java注解只需要了解就可以。
五.自定义
它类似于新创建一个接口类文件,但为了区分,我们需要将它声明为@interface。
高级应用