黑马程序员技术交流社区
标题:
匿名对象
[打印本页]
作者:
符立波
时间:
2012-10-29 06:32
标题:
匿名对象
本帖最后由 符立波 于 2012-11-19 21:19 编辑
说一下匿名对象的定义,特点和使用场合,老是弄不太清楚啊!!!
作者:
王永彬
时间:
2012-10-29 08:47
匿名对象是对象的简化形式。
特点:简化书写
适用场合:1、当对象只被调用一次时,使用匿名对象更为简化。
2、可以作为实际参数进行传递。
注意事项:当对一个对象进行多次调用时,就不可以使用匿名对象了,必须给对象起个名字。
作者:
林志进
时间:
2012-10-29 10:30
匿名内部类:其实就是内部类的简写格式。相当于一个匿名子类对象
前提: 必须继承一个类(抽象类也可)或者实现接口
格式: new Object(){
int x=0;
void x(){}}.x();
注:这样可以直接用x方法或者获取x变量,但是对象一被引用,引用的变量后不能直接用了,因为多态性。
对于方法中的内部类或块中内部类只能访问块中或方法中的final变量。
作者:
何创
时间:
2012-10-29 10:44
看看我的示例代码:
可能会知道什么是内部类。
class Animal {
short mShort = 200;
Animal an;
public Animal go() {
an = null;
return an;
}
class Fish {
public Fish() {
an.go();
}
}
}
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("main() start --->");
hello();
System.out.println("main() end <---");
}
public static void hello() {
Animal an1 = new Animal();
Animal an2 = new Animal();
Animal an3 = an1.go();
an1 = null;
// hello
}
}
作者:
丁桂松
时间:
2012-10-29 10:50
我们可以不定义变量引用对象,使用new关键字创建对象后直接使用,这样的对象没有名字,所以叫匿名对象。
通常我们需要使用一个对象且只使用一次的时候,就可以使用匿名对象。比如将对象作为一个参数传递给另外一个函数。
匿名对象因为没有任何引用到达,在使用一次之后即成为垃圾。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2