匿名對象java
『壹』 java中字元串也是個匿名對象(新手求解釋)
1,匿名對象是沒有名字的對象,直接new出來的,比如new Demo();
2,字元串比較特殊,java每一個字元都是String類的對象,雖然你沒有創建實例,但是確能調用方法,
3,比如,String s = 「hello」;s.isEmpty();這里就沒有創建對象,卻可以調用方法,
『貳』 Java中,匿名對象使用場景:
1:當對方法只進行一次調用的時候,可以使用匿名對象。
2:當對象對成員進行多次調用時,不能使用匿名對象。必須給對象起名字。
『叄』 JAVA里什麼是匿名對象
匿名類?就是沒有指定名稱的類,匿名內部類有利於編寫事件處理程序。
寫了個簡單的小程序,希望對你有所幫助
import java.awt.*;
import java.awt.event.*;
class Test extends Frame
{
public Test()
{
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
setSize(300,300);
setVisible(true);
}
public static void main(String args[])
{
new Test();
}
};
點擊右上邊關閉按鈕,會關閉窗體,用內部類實現的
『肆』 java當中如何區分匿名對象和匿名類
下面給你具體介紹一下匿名對象和匿名類:
一、匿名對象
匿名對象是沒有名字的實體,也就是該實體沒有對應的變數名引用
匿名對象的特徵:
創建的匿名類的對象只能夠調用一次
匿名對象只在堆內存中開辟空間,而不存在棧內存的引用
每次創建匿名對象都是不同的對象
二、匿名類
匿名類是不能有名稱的類,所以沒辦法引用它們。必須在創建時,作為new語句的一部分來聲明它們。匿名類相當於在定義類的同時再新建這個類的實例
定義匿名內部類的格式如下:
new 父類構造器(參數列表)|實現介面()
{
//匿名內部類的類體部分
}
匿名類特點:
它必須繼承一個類或者實現一個介面,而不能顯示的使用extends或者implements,沒有父類。
匿名類沒有構造方法。通過new<父類名> 創建對象,匿名類定義與創建對象是同時進行的。
匿名類只能一次性的創建,並有父類句柄持有。
匿名類不需要初始化,只有默認的構造方法
三、匿名對象和匿名類區別
1.匿名對象還是一個對象,它必須有已經寫好的成員變數、屬性、方法
2.匿名類,在聲明它的對象的時候,才對它進行代碼的構造(封裝它的成員變數、屬性、方法等)
3.匿名對象:一個對象只需要使用一次的時候,通常使用匿名對象
4.匿名類:比如我們需要一個監聽類,並且在實例化這個監聽類的時候才需要實現這個監聽類內部的方法,那麼使用匿名類就最方便了
『伍』 java中匿名對象是什麼東西怎樣理解匿名對象什麼時候用
比如我要保存一個用戶對象
User{
public int id;
public String name;
}
save(對象User)
一般情況就是
User user1 = new User();
user1.id = 1;
user1.name="name";
save(user1);
但這個user1隻是在save前使用,之後就沒用了,那麼就可以這樣
save(new User(1,"name");
這樣直接保存,不用創建user1
沒有名字
『陸』 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();//通過匿名對象調用方法
}
}
『柒』 java中匿名對象的好處
先要知道對象可以用來干什麼?起碼可以傳來傳去,用於多個類的交互使用。而匿名對象就不用,這種方式說明只要我用就只能用一次,不能重復使用。可以理解為專屬對象(不知道這種說法是否正確)。
『捌』 java中什麼是匿名對象謝謝!
普通申明一個對象是這樣的
A a = new A();
那麼這個時候a就是類A的一個對象,這個對象名字就是a
再來看下面一個例子:
method(A a);
整理method是一個方法,他需要傳遞一個對象來作為參數,那麼這個時候有2種方法:
方法1:
A a =new A();
method (a);
方法2:
method (new A());
方法2中new A()就是一個匿名對象,他沒有名字。這樣可以理解了吧。