匿名对象的意义:一般只使用一次,图方便,不需要重新写一个类。
匿名类通常都是的形式结构通常都是:
abstract class A ...
创建匿名类:
A a1 = new A(){
重写所有抽象类的方法
}
package AbstractTest2;
public class Test {
public static void main(String[] args) {
Person p1 = new Student(); //非匿名对象,非匿名的类
method(p1);
System.out.println("************");
method(new Student()); //匿名对象
System.out.println("************");
Person p2 = new Person() {
@Override
public void eat() {
System.out.println("人 吃饭");
}
@Override
public void breath() {
System.out.println("人 呼吸");
}
// 匿名的类,非匿名对象
};
method(p2);
System.out.println("************");
method( new Person() {
@Override
public void eat() {
System.out.println("人 新的吃饭");
}
@Override
public void breath() {
// TODO Auto-generated method stub
}
}); //匿名对象,匿名类
}
public static void method(Person p) {
p.eat();
}
}