一些經常使用的javadoc標籤html
@see: other-classjava |
引用other-class 生成的html文檔會有一個See Alse 做爲超連接的只是條目spa |
{@link package.class#member label}code |
同@see, 可是用於行內. 生成的html文檔會有一個label做爲超連接的只是條目orm |
{@docRoot}htm |
產生到文檔根目錄的相對路徑,用於文檔樹頁面的顯示超連接對象 |
{@inheritDoc}blog |
從當前這個類的最直接的基類中繼承相關文檔到當前的文檔註釋中繼承 |
@version version-informationip |
用於生成自定義的版本信息(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