java 物件導向雜談

2021-08-14 06:59:28 字數 1682 閱讀 1780

1.this在構造器中的應用:在不同的構造器中使用到相同的其它構造器內所有的因素,可以通過this呼叫。(原因:便於維護)

this.name=name;

this.color=color;

this(name,color);

this.weight=weight;

}2.過載:同乙個類中的帶有不同參的構造器。重寫:子類重寫父類相同的方法。重寫方法時要求尊循「兩同兩小一大」,兩同:方法名,形參列表相同。兩小:子類方法返回值型別&丟擲異常類應該比父類更小或相等。一大:子類方法訪問許可權比父類大或相等。

注意:父類方法有private訪問許可權的話,在子類的一切行為都不算重寫,只能算定義乙個新方法。

3.super作用:呼叫被子類隱藏的例項變數或方法,也可以用來呼叫父類構造器。

注意:如果子類中沒有super,this呼叫的話系統將隱式呼叫父類無參構造器。

4.string和integer均實現comparable介面,並且重寫了方法。因此它們能排序。

5.用instanceof用於判斷前面物件是不是後面的類,或者子類(判斷繼承關係),實現的類的例項。

6.初始化塊的使用:先定義先執行,比類的無參構造方法先執行。

應用:當構造器中有多個重複相同初始化引數時可以放在初始化塊裡,減少冗餘。

7.包裝類和對應基本型別變數jdk1.5後便可以直接賦值進行自動裝箱和拆箱。

注意:當用字串建立boolean物件時,如果是傳入的是除true(不區分大小寫)之外的字串,則會建立false對應的boolean物件。

8. system.out.println("jhdhhd"+(5+3));先執行括號內運算。

9.將例項物件直接輸出時即:person p=new person() system.out.print(p)

相當於system.out.print(p.tostring()),輸出的是「自我描述資訊」,tostring()方法是所有類都有的,因此要自定義輸出物件描述資訊,需要在類裡面重寫tostring()方法。

10.常量池:專門用來管理在編譯期被確定並儲存在已編譯的.class檔案中的一些資料。它包括了相關類,方法,介面中的常量,還包括字串常量。

11.即使例項為null也可以訪問其所屬類的類成員。

12.valueof(引數),傳遞進引數之後就會自動在快取池裡快取該引數的string物件,當再次傳進相同的例項的時候,valueof方法先遍歷快取池判斷是否已經存在例項,若沒有則將新的例項存進去,當快取的例項達到極限時快取池將從第乙個開始刪除並以此類推,例如integer類只能判斷-128-127個數字。但是如果是使用new直接建立新的例項的時候直接用==比較是一定不會相等的。

integer int1=new integer(6);

integer int2=integer.valueof(6);

integer int3=integer.valueof(6);

//輸出false

system.out.println(int1==int2);

//輸出true

system.out.println(int2==int3);

integer int4=integerof(200);

integer int5=integerof(200);

//輸出false

system.out.prrintln(int4==int5);

PHP物件導向雜談

php5.0還沒有命名空間的概念,所以通常類檔案的載入都是通過require,require once,include,include once.include 和require 語句的不同在於它們如何處理錯誤。使用require 呼叫檔案發生錯誤時,將會停止整個程式 呼叫include 時遇到相同...

C 物件導向以及STL雜談

繼承多型 動態多型 模板stl 關聯容器 封裝是什麼 隱藏物件的屬性和實現細節,僅對外公開介面和物件進行互動,將資料和運算元據的方法進行有機結合 c 語言中,強化了c語言的封裝特性,對內開放資料,對外遮蔽資料 提供介面 函式是封裝的一種形式 函式所執行的細節行為被封裝在函式本身這個更大的實體中,被封...

JAVA 物件導向

this關鍵字只能在方法內部使用,表示 呼叫方法的那個物件 的引用。this 用於建構函式之間進行相互呼叫。語句只能定義在建構函式的第一行。static 靜態 使用注意事項 1.靜態方法只能訪問靜態成員。非靜態方法可以訪問靜態成員。2.靜態方法中不可以定義this,super關鍵字。因為靜態優先於物...