A. java中匿名對象是什麼意思啊
匿名對象使用方法一:當對對象的方法只調用一次時,可以用匿名對象來完成,這樣寫比較簡化。
如果對一個對象進行多個成員的調用,就必須給這個對象起個名字。
匿名對象使用方法二:可以將匿名對象作為實際參數進行傳遞。
如下代碼所示:
classPerson{
privateStringname;
privateintage;
publicPerson(){
}
publicPerson(Stringname){
this.name=name;
}
publicPerson(Stringname,intage){
this.setName(name);
this.setAge(age);
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetName(){
returnthis.name;
}
publicvoidsetAge(intage){
if(age>0&&age<140){
this.age=age;
}
}
publicintgetAge(){
returnthis.age;
}
publicvoidtell(){
System.out.println("姓名:"+this.getName()+",年齡:"+this.getAge());
}
}
publicclassTest{
publicstaticvoidmain(Stringargs[]){
newPerson("張三",46).tell();//通過匿名對象調用方法
}
}
B. java中匿名對象的好處
先要知道對象可以用來干什麼?起碼可以傳來傳去,用於多個類的交互使用。而匿名對象就不用,這種方式說明只要我用就只能用一次,不能重復使用。可以理解為專屬對象(不知道這種說法是否正確)。
C. JAVA匿名類是什麼,怎麼用
匿名類是一種特殊的內部類,它是在一個表達式內部包含一個完整的類定義。
內部類是在一個類的內部嵌套定義的類,它可以是其它類的成員,也可以在一個語句塊的內部定義,還可以在表達式內部匿名定義。
匿名類與其他類的不同就在於匿名,也就是沒有名稱。
Java中允許創建子類對象時,除了使用父類的構造方法外,還可以用類體。 匿名類就是一個沒有類申明的類體,因為沒有名稱,所有匿名類不可以申明對象,但卻可以創建對象。 例如:
A是一個子類,那麼下面的代碼就是A的一個子類(匿名類)創建對象。
new A(){
匿名類的類體
};
由於匿名類是一個子類,所以和有一般子類的特徵。可以繼承父類的方法,同樣也可以重寫父類的方法。值得提醒的是,在使用匿名類時,一定是在某個類中直接用匿名類創建對象,因此匿名類必定是內部類,所以和其他匿名類一樣可以訪問外嵌類中的成員變數和方法,匿名類的類體中不可以什麼。
static成員變數和static方法。
盡管匿名類沒有申明的步驟,但可以在創建匿名對象時返回一個引用賦值給匹配參數。 匿名類的常用方式是向方法的參數傳值。
具體方法如下:
abstractclassSpeak{
publicabstractvoidspeakHello();
}
classStudent{
voidf(Speaksp){
sp.speakHello();
}
}
publicclassAnonymousClassDemo{
publicstaticvoidmain(String[]args){
Speakspeak=newSpeak(){
publicvoidspeakHello(){
System.out.println("大家好,祝工作愉快!");
}
};
speak.speakHello();
Studentst=newStudent();
st.f(newSpeak(){
publicvoidspeakHello(){
System.out.println("Iamastudent,howareyou");
}
});
}
}
上面代碼的抽象類改成介面同樣適用。
D. java方法涉及匿名對象參數問題
這里說的匿名對象應該就是匿名內部類的對象了,不是沒有引用,這個引用是編譯器自動生成,一般為外部類名$內部類名(也相當於沒有,根本引用不到),就像樓上說的匿名內部類是相當於實現了某個介面或者繼承了某個類的,所以它的應用是向上轉型的...
E. Java中如何使用匿名對象中的方法,當對象有多個方法如何調用呢
直接在匿名對象後調用該對象方法就可以了..要調用對象多個方法,你就要對該對象進行命名.匿名對象只能一次性使用.
F. java中什麼是匿名對象謝謝!
顧名思義,匿名對象即為對象沒有名字(引用)。下面是一個例子:
Java第一個程序HelloWorld中有這么一句:System.out.print(''Hello world!''); 其中 Hello world! 就是匿名對象。
通常的寫法:String str=''Hello world!''; 這時 str 就是 Hello world! 的名字(引用)。