重生之我開始補知識第三集
1.標準 JavaBean
要求:
1)類名需要見名知意
2)成員變量使用private修飾
3)至少提供兩個構造方法
? ? ? a.無參構造方法? ? ?b.帶全部參數的構造方法
4)成員方法
? ? ? a.提供每一個成員變量對應的 setxxx()或 getxxx()
? ? ? b.如果還有其他行為,也需要寫上
快捷鍵:alt + insert? ?或 alt + fn + insert
插件:PTG(需要連接外網),可以1s生成標準 JavaBean
2.對象內存圖
1)一個對象的內存圖
a. 加載class文件
b. 申明局部變量
c. 在堆內存中開辟一個空間
d. 默認初始化
e. 顯示初始化
f. 構造方法初始化
g. 將堆內存中的地址值賦值給左邊的局部變量
2)兩個對象的內存圖
3)兩個引用指向同一個代碼
當兩個變量指向同一個空間的時候,只要有其中一個變量對這個空間里的值發生了改變,那么其他的變量再次訪問的時候,就是改變之后的結果了。
3.基本數據類型和引用數據類型
1) 基本數據類型
整數類型、浮點數類型、布爾類型、字符類型
數據值是存儲在自己空間中的
特點:賦值給其他變量,也是賦的真實的值
2)引用數據類型
除了基本數據類型的其他所有類型
數據值是存儲在其他空間中的,自己空間中存儲的是地址值
特點:賦值給其他變量,賦的是地址值
4. this 的內存原理
回顧一下
?this 的作用:區分局部變量和成員變量
?this 的本質:所在方法調用者的地址值
5.成員變量和局部變量的區別
成員變量:類中方法外的變量
? ? ? ? ? ? ? ? ? 有默認初始值
? ? ? ? ? ? ? ? ? 堆內存
? ? ? ? ? ? ? ? ? 隨著對象的創建而存在,隨著對象的消失而消失
? ? ? ? ? ? ? ? ? 整個類中都有效
局部變量:方法中的變量
? ? ? ? ? ? ? ? ? 沒有初始值,使用之前需要完成賦值
? ? ? ? ? ? ? ? ? 棧內存
? ? ? ? ? ? ? ? ? 著方法的調用而存在,隨著方法的運行結束而消失
? ? ? ? ? ? ? ? ? 當前方法中有效