1.創(chuàng)建對象(實例)
new關(guān)鍵字 既然類是對象的模板勒魔,new 類名();就是創(chuàng)建一個對象的意思融痛。New一次就創(chuàng)建一個對象藤韵,創(chuàng)建對象換個話說就是創(chuàng)建一遍內(nèi)存凛膏。new幾次就創(chuàng)建幾個對象杨名。 例如: //這是一個學生類 public class Student { String name; String address; int age; String sex; void dushu() { System.out.println("正在讀書..."); } void lianxi() { System.out.println("正在練習..."); } } //下面我們new這個學生類的對象,并把這個對象交給變量stu猖毫,在把這個對象里的變量附上參數(shù)台谍。然后調(diào)用這個對象的方法。 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(); } }
1.實例成員
實例成員就是new出的對象里的所以變量和方法就稱之為對象成員或者叫實例成員。
2.靜態(tài)成員
靜態(tài)成員就是類模板中加上static的屬性和方法仔役。 靜態(tài)成員只有一份內(nèi)存掷伙,哪怕new出對象后,對象也只是引用類中靜態(tài)成員的這一遍內(nèi)存又兵,對象并沒有自己創(chuàng)建登記內(nèi)存自己去存儲而是引用任柜。 所以有static關(guān)鍵字的屬性和方法的類的靜態(tài)成員對象實例都不會去登記內(nèi)存而僅僅是引用回類的靜態(tài)成員的內(nèi)存。 只有不帶static的實例成員對象才會去登記內(nèi)存自己存儲起來沛厨。 所以靜態(tài)成員不用new對象就可以直接通過類名去訪問了宙地。因為這個類加載起來后就已經(jīng)有了一份靜態(tài)成員了。 例如:
靜態(tài)成員不用new對象就可以直接訪問逆皮。
既然靜態(tài)成員是所有實例共用一份绸栅。而實例成員是【學Java,到凱哥學堂kaige123.com】各自有各自的一份页屠。那也就存在著引用傳遞的關(guān)系了粹胯。
1.靜態(tài)成員只要一個實例對其進行修改那全部實例都會發(fā)生改變 。 2.實例成員那就是自己修改自己的那一份對其他實例沒有影響的辰企。 如圖: