?在Java中有些類創(chuàng)建之后就是調(diào)用了某個(gè)方法一次,之后再也不使用,這樣會(huì)導(dǎo)致資源浪費(fèi),以及代碼的臃腫
?Java提供了一種方式:
??匿名對象
??匿名對象的格式:
???new 類名().調(diào)用的方法();
??如: new Dragon(). 調(diào)用方法"賦值";
??作用:
???簡化書寫
??匿名對象的使用場景:
???1. 在代碼中,有一些類對象只使用一次,是通過這個(gè)類對象來調(diào)用這個(gè)類的某些方法,這個(gè)可以用匿名對象
???類完成
???2. 可以作為函數(shù)的實(shí)際參數(shù)傳遞
代碼如下:
class Student {
?String name;
?String id;
?
?public void study() {
??System.out.println("好好學(xué)習(xí),天天向上,good good study, day day up");
?}
}
public class Demo3 {
?public static void main(String[] args) {
??Student student = new Student();//使用new的創(chuàng)建對象
??
??student.name = "PDD";
??student.id = "IG.PDD";
上面為熟悉的創(chuàng)建對象過程。
??//類對象來調(diào)用成員方法
??student.study();
System.out.println(student);//顯示的是地址
System.out.println(new Student());//顯示的是地址
new ?Student().study();//匿名對象的創(chuàng)建方法 匿名對象??new 之后,創(chuàng)建的就是對象在【內(nèi)存堆區(qū)】的空間,也就是對象的本體
??//new Student().name = "WeiXiao";??這里對匿名對象的成員變量進(jìn)行賦值,語法上沒有問題, 但是這個(gè)成員變量之后無法使用, 所以沒有實(shí)際意義
?test(student);
??test(new Student());
?}
?public static void test(Student t) {
??t.study();
?}
}

??