匿名對象

?在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();
?}
}



??

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容