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! 的名字(引用)。