標籤:java
1.建立對象(執行個體)
new關鍵字
既然類是對象的模板,new 類名();就是建立一個對象的意思。New一次就建立一個對象,建立對象換個話說就是建立一遍記憶體。new幾次就建立幾個對象。
例如:
//這是一個學生類
public class Student {
String name;
String address;
int age;
String sex;
void dushu() {
System.out.println(“正在讀書…”);
}
void lianxi() {
System.out.println(“正在練習…”);
}
}
//下面我們new這個學生類的對象,並把這個對象交給變數stu,在把這個對象裡的變數附上參數。然後調用這個對象的方法。
public class Test {
public static void main(String[] args) {
Student stu=new Student();
stu.sex=”男”;
stu.name=”張三”;
stu.address=”湖南”;
stu.age=12;
stu.dushu();
stu.lianxi();
}
}
2.靜態成員?執行個體成員?
1.執行個體成員
執行個體成員就是new出的對象裡的所以變數和方法就稱之為對象成員或者叫執行個體成員。
2.靜態成員
靜態成員就是類模板中加上static的屬性和方法。
靜態成員只有一份記憶體,哪怕new出對象後,對象也只是引用類中靜態成員的這一遍記憶體,對象並沒有自己建立登記記憶體自己去儲存而是引用。
所以有static關鍵字的屬性和方法的類的靜態成員對象執行個體都不會去登記記憶體而僅僅是引用回類的靜態成員的記憶體。
只有不帶static的執行個體成員對象才會去登記記憶體自己儲存起來。
所以靜態成員不用new對象就可以直接通過類名去訪問了。因為這個類載入起來後就已經有了一份靜態成員了。
例如:
650) this.width=650;" src="http://os78f4hny.bkt.clouddn.com/201707310001.jpg?imageMogr2/blur/1x0/quality/75%7Cwatermark/1/image/aHR0cDovL29zNzhmNGhueS5ia3QuY2xvdWRkbi5jb20vd2F0ZXJtYXJrLnBuZw==/dissolve/50/gravity/SouthEast/dx/10/dy/10%7Cimageslim" alt="image" />
650) this.width=650;" src="http://os78f4hny.bkt.clouddn.com/201707310002.jpg?imageMogr2/blur/1x0/quality/75%7Cwatermark/1/image/aHR0cDovL29zNzhmNGhueS5ia3QuY2xvdWRkbi5jb20vd2F0ZXJtYXJrLnBuZw==/dissolve/50/gravity/SouthEast/dx/10/dy/10%7Cimageslim" alt="image" />
靜態成員不用new對象就可以直接存取。
3.引用傳遞
既然靜態成員是所有執行個體共用一份。而執行個體成員是【學Java,到凱哥學堂kaige123.com】各自有各自的一份。那也就存在著引用傳遞的關係了。
1.靜態成員只要一個執行個體對其進行修改那全部執行個體都會發生改變
。
2.執行個體成員那就是自己修改自己的那一份對其他執行個體沒有影響的。
650) this.width=650;" src="http://os78f4hny.bkt.clouddn.com/201707310003.jpg?imageMogr2/blur/1x0/quality/75%7Cwatermark/1/image/aHR0cDovL29zNzhmNGhueS5ia3QuY2xvdWRkbi5jb20vd2F0ZXJtYXJrLnBuZw==/dissolve/50/gravity/SouthEast/dx/10/dy/10%7Cimageslim" alt="image" />
-Java基礎-對象