03、如何建立 Java 對象
建立 Java 對象時,需要用到 new 關鍵字。
Person person = new Person();
這行代碼就通過 Person 類建立了 Person 對象。所有對象在建立的時候都會在堆記憶體中配置設定空間。
建立對象的時候,需要一個 main() 方法作為入口, main() 方法可以在目前類中,也可以在另外一個類中。
第一種:main() 方法直接放在 Person 類中。
public class Person {
private String name;
private int age;
private int sex;
private void eat() {
}
private void sleep() {
}
private void dadoudou() {
}
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);
System.out.println(person.age);
System.out.println(person.sex);
}
}
輸出結果如下所示:
null
1
2
3
第二種:main() 方法不在 Person 類中,而在另外一個類中。
實際開發中,我們通常不在目前類中直接建立對象并使用它,而是放在使用對象的類中,比如說 PersonTest 類。
可以把 PersonTest 類和 Person 類放在兩個檔案中,也可以放在一個檔案(命名為 PersonTest.java)中,就像下面這樣。
/**
* @author 微信搜「沉默王二」,回複關鍵字 PDF
*/
public class PersonTest {
public static void main(String[] args) {
Person person = new Person();
}
}
class Person {
private String name;
private int age;
private int sex;
private void eat() {
}
private void sleep() {
}
private void dadoudou() {
}
}
04、如何初始化對象
在之前的例子中,程式輸出結果為:
為什麼會有這樣的輸出結果呢?因為 Person 對象沒有初始化,是以輸出了 String 的預設值 null,int 的預設值 0。
那怎麼初始化 Person 對象(對字段指派)呢?
第一種:通過對象的引用變量。
public class Person {
private String name;
private int age;
private int sex;
public static void main(String[] args) {
Person person = new Person();
person.name = "沉默王二";
person.age = 18;
person.sex = 1;
System.out.println(person.name);
System.out.println(person.age);
System.out.println(person.sex);
}
}
person 被稱為對象 Person 的引用變量,見下圖:
通過對象的引用變量,可以直接對字段進行初始化(person.name = "沉默王二"),是以以上代碼輸出結果如下所示:
沉默王二
18
第二種:通過方法初始化。
/**
* @author 沉默王二,一枚有趣的程式員
*/
public class Person {
private String name;
private int age;
private int sex;
public void initialize(String n, int a, int s) {
name = n;
age = a;
sex = s;
}
public static void main(String[] args) {
Person person = new Person();
person.initialize("沉默王二",18,1);
System.out.println(person.name);
System.out.println(person.age);
System.out.println(person.sex);
}
}
在 Person 類中新增方法 initialize(),然後在建立對象後傳參進行初始化(person.initialize("沉默王二", 18, 1))。
第三種:通過構造方法初始化。
/**
* @author 沉默王二,一枚有趣的程式員
*/
public class Person {
private String name;
private int age;
private int sex;
public Person(String name, int age, int sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public static void main(String[] args) {
Person person = new Person("沉默王二", 18, 1);
System.out.println(person.name);
System.out.println(person.age);
System.out.println(person.sex);
}
}
這也是最标準的一種做法,直接在 new 的時候把參數傳遞過去。
05、什麼是匿名對象
匿名對象意味着沒有引用變量,它隻能在建立的時候被使用一次。
new Person();
可以直接通過匿名對象調用方法:
new Person().initialize("沉默王二", 18, 1);
06、一次性建立多個對象
可以通過下面的方式一次性聲明多個基本類型變量:
int a=10, b=20;
a 和 b 的類型一樣,都是 int,就可以通過“,”的形式聲明多個。一次性建立多個對象的方式和這個類似:
Person person1 = new Person(), person2 = new Person();
07、ending
“二哥,結束了嗎?我還想學呢?”三妹雖然精神煥發,沒有絲毫的疲憊,但我已經犯困了。
“三妹啊,哥要休息會,咱們下次再學好不好?”我站起來,轉了轉僵硬的脖子。。。。。。與此同時,耳朵的右後方傳來了幾聲“叭叭叭”的聲音。
二哥肝了兩天兩夜,《程式員不可或缺的軟實力》第一版強勢來襲,純手敲,足足 20 萬字精華文章,貫穿了我十餘年的程式設計生涯,涉及到了生活和工作中的方方面面,如果你是迷茫的在校大學生,或者剛入職的新人,相信我的個人經曆,可以給你帶去一些思考,進而樹立起正确的人生觀和價值觀。
那這份 PDF 該怎麼擷取呢?
連結:https://pan.baidu.com/s/1TA3txLvHxQNJEOJUHSZEqQ 密碼:ps7z