1、
顯示實現介面目的:為了解決方法重名的問題。類中的成員如果不寫訪問修飾符預設是私有的
private
,類不寫訪問修飾符預設是
internal
。顯示介面的時候必須是私有的。 2
、顯示實現介面後,被實現的方法變成了private私有的,所以通過類物件訪問不到。
只能通過介面來呼叫。(顯示實現兩個介面的時候,都通過「顯示實現介面」來實現的話,對
student
類來說都變成私有的了,訪問不到。) 3
、介面的成員不能加「訪問修飾符」,介面中的成員訪問修飾符為
public
,不能修改。
當乙個抽象類實現介面的時候,如果不想把介面中的成員實現,可以把該成員實現為 abstract。介面不能被例項化。 4
、物件導向程式設計,使用抽象(父類,抽象類,介面)不使用具體。程式設計時候:介面→抽象類→父類→具體類。 5
、抽象類和介面的區別:抽象類適用於同一系列,並且需要有繼承的成員。介面適用於不同系列的類具有相同的動作。對於不是相同系列,但具有相同的行為,這個就考慮用介面。 6
、列舉,
1普通列舉的每個值都是互斥的。
2列舉中的每個值都有乙個對應的數值來表示,預設都是
int型別來替代的,但是也可以指定具體的資料型別。(
public enum userstate
:byte
,表示限制了列舉指定
數字型別)從
0開始。可以手動設定每個列舉對應的整數。
3列舉在編譯完成後就已經用對應的數值常量來表示了。 7
、標誌列舉,1前加
[flags]
這個特性後列舉型別
.tostring()
分會的就是文字形式,不是數字了。為標誌列舉賦值可以用
"|",來使用。
2標誌列舉中的每個值是可以互相組合的。 8
、結構體是乙個值型別。
結構和類最大最大的區別:結構是值型別,類是引用型別。結構是不能繼承的,但是結構可以實現介面。
int是結構,所以也可以實現介面。 9
、如果需要物件導向的特性,如果儲存的資料量比較大使用類,如果儲存的資料量較小,不需要物件導向特性,則使用結構。 10
、型別轉換:把位元組數小的轉換成大的會發生隱式轉換。
int與
string
完全不是一種型別,記憶體上沒有交集,也不是子父類關係,所以不能隱式型別轉換。型別轉換只能是在一條線上的,才可以轉換。 11
、把字串型別轉換成數值型別,數字型別
.parse();
用數值型別
.tryparse();
不會報異常。
convert
可以把任意型別轉換成任意型別。 12
、值型別:int 、char、 double ,結構體等等
引用型別:string、陣列、類、介面、委託
,所有的引用型別都繼承自object,所有的值型別都繼承自 system.valuetype。system.valuetype 又繼承自 object。 13
、值型別( 棧):變數賦值會拷貝乙個副本,與原來的值沒有什麼關係了;引用型別 (堆 ) 變數賦值只賦值對物件的引用。
14、值傳遞,傳遞的是棧中的內容。 ref表示引用傳遞,引用傳遞的是棧本身的位址。
15、對於值型別來說:棧中儲存的就是直接使用的資料。對於引用型別來說:棧中儲存的是堆中的物件的位址。
值傳遞:傳遞的是棧中儲存的資料。引用型別,傳遞的是棧本身的位址。 16
、異常:
1語法錯誤,語法錯誤一般編譯器會幫我們解決。
2邏輯錯誤,執行不報異常,就是結果不對;
3在執行時候發生的錯誤才叫異常,一般會導致程式崩潰;
4空指標異常,未將物件引用到物件的例項。等等。
try-catch
解決異常,
finally
裡面一般會放一些釋放資源的**,這樣會保證最後這些**一定會被執行,在
finally
裡面的**即便某些異常沒有**獲,程式崩潰了,也要被執行,即便在
try中有
return
語句,finally
塊的**還是會執行的。捕獲所有異常的
catch
不能寫在具體異常的前面。
exception
,類是所有異常類的祖宗類。 17
、throw
;這種寫法只能在
catch
中用。throw new exception()
;在**都能用。建議:通過邏輯判斷(
if-else
)減少異常的發生。 18
、params ,可變引數。
static int add(params int arrint)
;可變引數可以傳乙個值,也可以傳多個值,也可以不傳引數。
如果不為可變引數傳值,則可變引數的陣列是乙個長度為 0的陣列,但是不是null
。可變引數也可以傳乙個陣列進來。 19
、當乙個方法有多個引數的時候,並且含有可變引數,則可變引數只能放在引數列表最後面。 20
、ref
與out
:ref在這些方法中直接使用了傳遞進來的引數,在原有值的基礎上在進行修改。由於在這些方法中一開始就是用引數,在引數使用傳遞進來之前必須宣告並賦值。
當乙個方法同時要返回多個值的時候,可以考慮使用
out引數;out
引數在方法中必須賦值,不賦值不行;
即便在傳遞
out引數時候賦值了,也沒有用。
ref主要是把乙個值帶進去,再帶出來,
out主要是把乙個值返回。
6月9日筆記
續上節課 未寫完內容 7.overflow溢位處理 1 hidden隱藏超出大小的圖層 2 scroll無論內容是否超出圖層大小都新增滾動條 3 auto超出部分自動新增滾動條 div6月9日 從效果圖到網頁布局中以及按需要切圖 1.進行區域的劃分 1 分為幾個div,div中還有其他的 如圖分為三...
6月1日心得
下午一直在搞mysql,裝了很長時間的mysql都忘了當初是否配置了密碼,也忘了常用的操作了。開始mysql裝在c mysql,鼓搗了半天用winmysqladmin.exe操作了半天也改不了密碼,吃飯回來重新裝了 一遍。這次裝在了d盤,結果發現啟動不了,到控制面板 管理工具 服務看到仍然mysql...
6月11日Android筆記
android系統的鎖屏時間存放在setting資料庫中,欄位為 mute靜音模式 eclipse快速執行快捷鍵ctrl f11 relativelayout中android visibility gone 即設定不顯示。clipboardmanager剪貼簿服務 ondetachedfromwin...