java注释文档

一些常用的javadoc标签

@see: other-class

引用other-class 生成的html文档会有一个See Alse 作为超链接的只是条目

{@link package.class#member label}

同@see, 但是用于行内. 生成的html文档会有一个label作为超链接的只是条目

{@docRoot}

产生到文档根目录的相对路径,用于文档树页面的显示超链接

{@inheritDoc}

从当前这个类的最直接的基类中继承相关文档到当前的文档注释中

@version version-information

用于生成自定义的版本信息(version-information)

@author author-information

用于生成自定义的作者信息(author-information)

@since

指定程序代码最早使用的版本

@param parameter-name description

parameter-name为方法参数列表的标识符, description表示可延续多行

@return return-value description

return-value描述返回值的含义description表示可延续多行

@throws fully-qualified-class-name description

fully-qualified-class-name给出一个在别处定义的异常类名字(不能产生歧义), description表示可延续多行

@Deprecated

建议用户不使用的旧特性

类相关

类的组合:

使用现有的类A的对象作为新类B的成员变量(通常限定类A的对象为private)

class A {}

public class B {

    Private A a;

}

A,B关系可确定为”has-a”(拥有)关系,即B拥有A

类的继承

现有基类A, 类B继承自类A,则类A也成为类B的父类

class A {}

class B extends A {}

类A和类B的关系可确定为”is-a”(是一个)关系,即B是一个A

重写(覆盖)和重载

重写是指父类和子类之间,子类重写了父类的一个方法,且方法名,返回值,参数类型,参数个数,参数,顺序相同.

重载是一个类中,有多个方法名相同的方法,它们的返回值,参数类型,参数个数,参数,顺序至少有一个不同.

class A {

    public void helloWorld() {

        System.out.println(“hello world”);
}
} class B extends A { //重写(覆盖)父类方法 public void helloWorld() { System.out.println(“hello world”); } public void hi() { System.out.println(“hi”); } //重载上一个方法 public int hi() { System.out.println(“hi”); return 1;
}
}

java.lang类默认会被导入java文件中

static修饰的方法或变量属于类,不属于类的对象.static对每个类来说只有一个存储空间,而每个对象都有一个存储空间.可通过staticMethod, 类名.staticMethod, 对象变量.staticMethod等来访问.

创建对象时注意

String s;    //创建引用(自动初始化为null),并不是创建对象
new String(“hello world”); //用new创建对象
String s = new String(“hello world”); //先用new创建对象,再创建引用s,并指向创建的对象(=具有右结合性)

操作符注意

==和!=用于比较基本类型的值,对象的引用是否相同

equals()比较对象的值是否相同, 但是不适用于基本类型

注意:equals默认行为是比较引用

class Value {
int i;
int j = 10;
} public class EqualMethod {
public static void main(String[] args) {
//==和!=比较基本类型的值
System.out.println(47 == 47.00); //true
Integer n1 = new Integer(47);
Integer n2 = new Integer(47); //==和!=比较对象的引用
System.out.println(n1 == n2); //false
//equals()比较对象的值
System.out.println(n1.equals(n2)); //true Value v1 = new Value();
Value v2 = new Value();
v1.i = v2.i = 100;
//equals()默认比较引用,这里v1,v2都为类Value的对象的引用
System.out.println(v1.equals(v2)); //false
} }

逻辑操作符(&&, ||, !) 产生一个布尔值,存在短路现象

按位操作符(&, |, ~, ^) 不存在短路现象

移位操作符:(<<, >>, >>>):左移<<时低位补0;有符号右移>>时,若符号为正则高位补0,为负则高位补1;无符号右移>>>时,无论正负高位补1(byte和short类型进行无符号右移时,先会被转换为int型, 再右移,然后截断赋值给原来类型)

直接常量

long: L, l(后缀)

float:F, f(后缀)

double: D, d(后缀)

十六进制: 0X, 0x(前缀)

八进制: 0(前缀)

long a = 1024L;
float b = 40f;
double c = 2048d;
int d = 0x21; //十进制33
int e = 021; //十进制17
05-11 22:54