一,匿名对象
匿名对象:没有名字的对象:
new Car(); //匿名对象其实就是定义对象的简写格式。
Car c = new Car();
c.run();
用匿名对象来书写以上代码:
new Car().run();
匿名对象的使用方法:
1 当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。
如一个 对象需要进行调用方法2次,用匿名对象的
new Car().run()
new Car().run()
这是2个对象分别调用了run(),不是一个对象调用了多方法。
2 匿名对象可以作为实际参数进行传递。
public static void show(Car c)
{
//……
}
show(new Car());
二,匿名类
匿名类的语法
这里举一个简单的例子:
Runnable hello = new Runnable() {
public void run() {
System.out.println(“hello”);
}
};
一个匿名类由以下几个部分组成:
new操作符
Runnable:接口名称。这里还可以填写抽象类、普通类的名称。
():这个括号表示构造函数的参数列表。由于Runnable是一个接口,没有构造函数,所以这里填一个空的括号表示没有参数。
{…}:大括号中间的代码表示这个类内部的一些结构。在这里可以定义变量名称、方法。跟普通的类一样。
三,看一个例子
匿名对象:
Person类:
new Person(); 这就是一个匿名对象
匿名类:
new Person(){
String name;
};
这就是一个匿名类
简单说就是,匿名对象还是一个对象,它必须有已经写好的成员变量、属性、方法
匿名类,在声明它的对象的时候,才对它进行代码的构造(封装它的成员变量、属性、方法等)
匿名对象:一个对象只需要使用一次的时候,通常使用匿名对象
匿名类:比如我们需要一个监听类,并且在实例化这个监听类的时候才需要实现这个监听类内部的方法,那么使用匿名类就最方便了