王 有关构造方法
面向對象第二天:
潛艇游戲第一天:
創建6個類,創建World類并測試
潛艇游戲第二天:
給6個類添加構造方法,并測試
回顧:
什么是類?什么是對象?
如何創建類?如何創建對象?如何訪問成員?
方法的重載(overload):-----------------方便用戶的調用
-
發生在同一類中,方法名相同,參數列表不同
-
編譯器在編譯時會根據方法的簽名自動綁定方法
筆記:
構造方法:構造函數、構造器、構建器---------復用給成員變量賦初值代碼
-
作用:給成員變量賦初始值
-
與類同名,沒有返回值類型(連void都沒有)
-
在創建(new)對象時被自動調用
-
若自己不寫構造方法,則編譯器默認提供一個無參構造方法,若自己寫了構造方法,則不再默認提供
-
構造方法可以重載
this:指代當前對象,哪個對象調用方法它指的就是哪個對象
只能用在方法中,方法中訪問成員變量之前默認有個this.
this的用法:
-
this.成員變量名-------------訪問成員變量
成員變量與局部變量同名時,若想訪問成員變量則this不能省略
class Student {String name; //成員變量(整個類中)int age;String address;//局部變量(當前方法中)Student(String name,int age,String address){this.name = name;this.age = age;this.address = address;} ?void study(){System.out.println(name+"在學習...");}void sayHi(){ ? ? ? ? ? ? ? ? ? ? ? System.out.println("大家好,我叫"+name+",今年"+age+"歲了,家住"+address);}} -
this.方法名()-----------------調用方法(了解)
-
this()---------------------------調用構造方法(了解)
null:表示空,沒有指向任何對象,若引用的值為null,則該引用不能進行任何點操作了,若操作則發生NullPointerException空指針異常
引用類型數組:
1)Bomb[] bs = new Bomb[3];bs[0] = new Bomb(100,200); //1)給元素賦值需要去new個對象bs[1] = new Bomb(200,300);bs[2] = new Bomb(220,330);//2)若想訪問對象的數據,需要通過數組元素去打點bs[0].x = 111; //給第1個炸彈的x修改為111 ?System.out.println(bs[1].width); //輸出第2個炸彈的寬bs[2].move(); //第3個炸彈移動補充:
成員變量:寫在類中,方法外--------有默認值
局部變量:方法中------------------------沒有默認值
java規定:成員變量和局部變量是可以同名的
-
使用的時候默認采取的是就近原則
內存管理:由JVM來管理的
-
堆:new出來的對象(包括成員變量)
-
棧:局部變量(包括方法的參數)
-
方法區:-----------周四講
數組也是一個對象,所以數組對象也存儲在堆中,
將數組的元素當作成員變量一并存儲在堆中
總結
- 上一篇: (基础知识)单反镜头的参数辨别
- 下一篇: 安卓手机玩游戏卡顿怎么解决_安卓手机卡顿