【java】一些零碎的知識點

java註釋文檔

一些經常使用的javadoc標籤html

經常使用javadoc標籤

@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
相關文章
相關標籤/搜索