一、構造函數
構造函數用於類的對象創建時定義初始化的狀態。
Java構造函數:
使用構造器時需要記住:
1.構造器必須與類同名(如果一個源文件中有多個類,那麼構造器必須與公共類同名)
2.每個類可以有一個以上的構造器
3.構造器可以有0個、1個或1個以上的參數
4.構造器沒有返回值
5.構造器總是伴隨着new操作一起調用
使用super調用父類構造器的語句必須是子類構造器的第一條語句
如果子類構造器沒有顯式地調用父類的構造器,則將自動調用父類的默認(沒有參數)的構造器。如果父類沒有不帶參數的構造器,並且在子類的構造器中又沒有顯式地調用父類的構造器,則java編譯器將報告錯誤
二、.引用
三種函數調用方式:值傳遞、引用傳遞和地址傳遞
最後對值傳遞與引用傳遞作一個比較:
1. 在函數定義格式上有不同:
值傳遞在定義處是:Exchg1(int x, int y);
引用傳遞在這義處是:Exchg1(int &x, int &y);
2. 調用時有相同的格式:
值傳遞:Exchg1(a,b);
引用傳遞:Exchg3(a,b);
3. 功能上是不同的:
值傳遞的函數裏操作的不是a,b變量本身,只是將a,b值賦給了x,y函數裏操作的只是x,y變量而不是a,b,顯示a,b的值不會被Exchg1函數所修改。
引用傳遞Exchg3(a,b)函數裏是用a,b分別代替了x,y。函數裏操作的是a,b。
指針是存放內存地址的變量。
引用可以理解爲獲得變量的地址
三、拷貝構造函數
四、補碼,反碼,原碼,移碼
原碼:在真值前面加了一個符號位,不能直接參與運算,零有正零和負零
反碼:正數的反碼就是原碼。負數的反碼:在原碼基礎上,符號位不變,其餘各位取反。因此,零仍然有兩種表示方式
補碼:正數的補碼就是原碼。負數的補碼:反碼基礎上加一
移碼:移碼(又叫增碼)是符號位取反的補碼,一般用指數的移碼減去1來做浮點數的階碼,引入的目的是爲了保證浮點數的機器零爲全0。
總結:正數的原碼、反碼和補碼是一致的。爲了解決零的問題引入了補碼。-128:1000000
五、浮點數
1bit符號位,8bit指數,23bit基數
指數要在原來的階碼基礎上加127
float:
1bit(符號位) 8bits(指數位) 23bits(尾數位)
double:
1bit(符號位) 11bits(指數位) 52bits(尾數位)
l六、.分散刷新
分散刷新是指將刷新週期分散安排在存取週期中(1:1)。刷新週期是指刷新一行所需要的時間。刷新間隔不超過2ms,即需要在2ms內刷新32行,所以刷新週期= 2ms / 32 = 0.0625ms = 62.5us.
集中刷新是指集中安排所有的刷新週期,也稱死區。
分佈式刷新:各刷新週期分散安排在2ms內,若有M行,則每過2/M ms 發一次刷新請求,刷新一行,2ms內刷新完所有的行
七、
由於操作系統對處理器的管理策略不同,其提供的作業處理方式也就不同,例如,批處理方式、分時處理方式、實時處理方式等等
八、常成員函數(c++)
返回類型 <類標識符::>函數名稱(參數表) const
如:void func() const
常成員函數不能用來更新類的成員變量,也不能調用類中未用const修飾的成員函數,只能調用常成員函數。即常成員函數不能更改類中的成員狀態
九、小端序機器:
高位字節放在高位地址中,低位字節放在低位地址中。
十、union
和struct類型相比,union中定義的變量共用一段內存,採用覆蓋技術,所佔內存長度爲最長內存成員的長度。
struct無論是否使用變量,全部分配內存地址。但是對於union,統一分配內存,節省了空間,存取方法多樣。
十一、java運行java文件(.class文件);javac將.java文件編譯成.class文件。
javadoc生成api文檔(從源代碼中抽取類、方法等註釋生成一個新的幫助文檔),jar生成jar包(將寫好的類進行打包)
十二、++(a++):a++的結果是4,是常量。++4是錯誤的,++智能針對變量計算。
十三、bool類型不能和任意類型進行轉化(int)True是錯誤的。