匿名内部类就是没有名字的内部类,本质上是没有名字的局部内部类,所以具有所有的局部内部类特征。
Outerts匿名内部类
public class Outerts {
public static void main(String[] args) {
ViewTest v=new ViewTest();
//方法参数是匿名内部类
v.handler(new OnClickListener(){
@Override
public void onClick(){
System.out.println("实现接口的匿名内部类...");
}
});
//继承类的匿名内部类
Figure f=new Figure(){
@Override
public void onDraw(){
System.out.println("继承类的匿名内部类...");
}
};
//具体类作为内部类
Person person =new Person("Tony",18){
@Override
public String toString(){
return "匿名内部类.实现"
+"Person[name=]"+name
+",age="+age+"]";
}
};
//打印过程自动调用Person的toString()方法
System.out.println(person);
}
}
OnClickListener接口
//OnClickListener接口
public interface OnClickListener {
void onClick();
}
抽象类Figure
//抽象类Figure
public abstract class Figure {
//绘制几何图形方法
public abstract void onDraw();
}
具体类Person
//具体类
public class Person {
String name;
Integer age;
public Person(String name, int age) {
// TODO Auto-generated constructor stub
}
}