尚硅谷JavaSE基礎(chǔ)
5.5 對(duì)象的使用
5.5.1?創(chuàng)建對(duì)象
1.?關(guān)鍵字new
?
類一旦寫(xiě)好了, 就可以使用關(guān)鍵字new創(chuàng)建對(duì)象
public class Teacher { String name; // 對(duì)象屬性 int age; String gender;
????// 對(duì)象方法 public void lesson() { ????System.out.println(name + “老師在上課”); }
????public void eat(String something) { System.out.println("老師在吃" + something); } // 描述對(duì)象的詳細(xì)信息, 把所有的屬性值串接成一個(gè)字符串 public String say() { String str = "姓名:" + name + ",年齡:" + age + ",性別:" + gender; return str; }
}
|
public class TeacherTest { public static void main(String[] args) {? Teacher t = new Teacher();?// 對(duì)象創(chuàng)建
} } |
2.?對(duì)象創(chuàng)建在哪里了
Teacher t = new Teacher();?
在這里t是什么呢? 是不是對(duì)象呢? 答案是否定的, t僅僅是一個(gè)引用變量, 什么是引用變量? 就是保存地址的一個(gè)特殊變量, 同時(shí)它也有類型, 表明它指向的對(duì)象的類型是Teacher類型的. 但是上面的對(duì)象的使用全是通過(guò)t來(lái)完成的, 原因就在于通過(guò)t可以定位對(duì)象的實(shí)體, 對(duì)象的實(shí)體是保存在堆內(nèi)存中.
3.?對(duì)象包含哪些內(nèi)容
當(dāng)一個(gè)對(duì)象被創(chuàng)建時(shí), 這個(gè)對(duì)象就會(huì)包含類中所有的屬性值, 如上面的例子, Teacher屬性中有String name, 和 int age屬性, 所以對(duì)象中包含了兩個(gè)數(shù)據(jù): 一個(gè)是name, 一個(gè)是age
5.5.2 使用對(duì)象
1.?使用屬性
通過(guò)引用修改對(duì)象的屬性
public class Teacher { String name; // 對(duì)象屬性 int age; String gender;
????// 對(duì)象方法 public void lesson() { ????System.out.println(name + “老師在上課”); }
public void eat(String something) { System.out.println("老師在吃" + something); } // 描述對(duì)象的詳細(xì)信息, 把所有的屬性值串接成一個(gè)字符串 public String say() { String str = "姓名:" + name + ",年齡:" + age + ",性別:" + gender; return str; }
}
|
public class TeacherTest { public static void main(String[] args) {? Teacher t = new Teacher();? ????????t.name = “張三”; ????????t.age = 30; ????????System.out.println(t.name); // 輸出”張三” System.out.println(t.age); // 輸出30
t.name = “張四”; ????????System.out.println(t.name); // 輸出”張四”
} } |
2.?調(diào)用方法
public class Teacher { String name; // 對(duì)象屬性 int age; String gender;
????// 對(duì)象方法 public void lesson() { ????System.out.println(name + “老師在上課”); }
public void eat(String something) { System.out.println("老師在吃" + something); } // 描述對(duì)象的詳細(xì)信息, 把所有的屬性值串接成一個(gè)字符串 public String say() { String str = "姓名:" + name + ",年齡:" + age + ",性別:" + gender; return str; }
} |
public class TeacherTest { public static void main(String[] args) {? Teacher t = new Teacher();? ????????t.name = “張三”; ????????t.age = 30; ????????t.gender = “男”; ????????System.out.println(t.name); // 輸出”張三” System.out.println(t.age); // 輸出30
t.name = “李三”; ????????System.out.println(t.name); // 輸出”李三”
????????t.lesson(); // 輸出 李三老師在上課 // 思考, 為什么不是輸出張三老師在上課? ????????t.eat(“魚(yú)香肉絲”); // 輸出 "老師在吃魚(yú)香肉絲" System.out.println(t.say()); // 輸出 “姓名: 李三,年齡:30,性別:男” } } |