精華筆記:
-
構造方法:建構式、構造器、構建器-----------------------復用給成員變數賦初值的代碼
- 作用:給成員變數賦初值
- 與類同名,沒有回傳值型別(連void都沒有)
- 在創建(new)物件時被自動呼叫
- 若自己不寫構造方法,編譯器默認提供一個無參構造方法,若自己寫了構造方法,則不再默認提供
- 構造方法可以多載
-
this:指代當前物件,哪個物件呼叫方法它指的就是哪個物件
? 只能用在方法中,方法中訪問成員變數之前默認有個this.
this的用法:
-
this.成員變數名---------------------------訪問成員變數
當成員變數與區域變數同名時,若想訪問成員變數,則this不能省略
-
this.方法名()--------------------------------呼叫方法(一般不用)
-
this()------------------------------------------呼叫構造方法(一般不用)
-
-
null:表示空,沒有指向任何物件,
- 若參考的值為null,則該參考不能進行任何點操作了,若操作則發生NullPointerException空指標例外,
筆記:
-
構造方法:建構式、構造器、構建器-----------------------復用給成員變數賦初值的代碼
-
作用:給成員變數賦初值
-
與類同名,沒有回傳值型別(連void都沒有)
-
在創建(new)物件時被自動呼叫
-
若自己不寫構造方法,編譯器默認提供一個無參構造方法,若自己寫了構造方法,則不再默認提供
-
構造方法可以多載
public 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 sayHi(){ System.out.println("大家好,我叫"+name+",今年"+age+"歲了,家住"+address); } } public class ConsDemo { public static void main(String[] args) { //Student zs = new Student(); //編譯錯誤,Student類沒有無參構造方法 Student zs = new Student("zhangsan",25,"LF"); zs.sayHi(); Student ls = new Student("lisi",24,"JMS"); ls.sayHi(); } }
-
-
this:指代當前物件,哪個物件呼叫方法它指的就是哪個物件
? 只能用在方法中,方法中訪問成員變數之前默認有個this.
this的用法:
-
this.成員變數名---------------------------訪問成員變數
當成員變數與區域變數同名時,若想訪問成員變數,則this不能省略
-
this.方法名()--------------------------------呼叫方法(一般不用)
-
this()------------------------------------------呼叫構造方法(一般不用)
-
-
null:表示空,沒有指向任何物件,
- 若參考的值為null,則該參考不能進行任何點操作了,若操作則發生NullPointerException空指標例外,
補充:
-
java規定:成員變數和區域變數是可以同名的,使用的時候默認采取的是就近原則
-
構造方法到底要不要引數,要看物件的資料能不能寫死
如果物件的資料都一樣,意味著可以寫死,就不需要傳參,
如果物件的資料都不一樣,意味著不能寫死,那就需要傳參,
-
記憶體管理:由JVM來管理的
- 堆:new出來的物件(包括成員變數)
- 堆疊:區域變數(包括方法的引數)
- 方法區:--------------面向物件第5天再討論
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/501236.html
標籤:Java
