6月1日筆記

2021-06-22 08:54:21 字數 2781 閱讀 3277

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...