##@see: other-class |
Quoteother-class The generated html document will have a See Alse as a hyperlink The only entries are |
##{@link package.class#member label}
|
Same as @see, but used for inline . generatedhtml The document will have a label as a hyperlink only to the entry |
{@docRoot}
|
Generates a relative path to the document root directory , is used for displaying the document tree page Hyperlink |
##{@inheritDoc}
| Inherit relevant documents from the most direct base class of the current class into the current document comment
|
@version version-information
|
Used to generate customized version information (version-information)
|
@author author-information |
Used to generate customized author information(author-information) |
@since |
Specify the earliest version of the program code used |
@param parameter-name description
|
##parameter-name is the identifier of the method parameter list, description means it can be extended to multiple lines |
##@return return-value description
|
return-value Describe the meaning of the return valuedescriptionIndicates that multiple lines can be continued
|
@throws fully-qualified-class-name description
|
fully-qualified -class-name gives an exception class name defined elsewhere ( cannot be ambiguous), description means it can Continue multiple lines
|
@Deprecated
|
Old features that users are advised not to use
|
#
Class related
Composition of classes:
Use an object of existing class A as The member variable ( of the new class B usually limits the object of the class A to private)
class A {}public class B {
Private A a;
}
A,BThe relationship can be determined as ”has-a”(有 )Relationship, means B owns A
Inheritance from class
Existing base classA, ClassBInherited from classA, then class A also becomes the parent class of class B
class A {}class B extends A {}
The relationship between class A and class B can be determined as ”is-a”(是A ) relationship , means B is a A
Override(overwrite)and overload
Overwriting refers to the relationship between the parent class and the subclass. ,The subclass overrides a method of the parent class,and the method name,Return value,Parameter type,Number of parameters,Parameters,are in the same order.
Overloading is in a class,There are multiple methods with the same method name,Their return values,Parameter types,Number of parameters,Parameters,The order must be at least one different .
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); //trueInteger 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; //十进制33int e = 021; //十进制17