匿名内部类
匿名内部类,就是一个没有名字的内部类,前提是匿名内部类一定是一个局部内部类。因为匿名内部类没有名字,所以在java中药使用匿名内部类他就必须基于接口或者继承,让大家知道他的父类时谁才能使用。
匿名内部类的格式
new name(参数)
{
...
}
name: name是父类或者接口
若果name是父类,则括号中是父类的构造方法的参数。
①和局部内部类一样,匿名内部类不能有static成员和方法。
②匿名内部类不具有构造方法。
③不能有静态代码块
④匿名内部类也不能有访问修饰符。.
package innerclass;
public abstract class Animal {
private String name;
public String getname()
{
return name;
}
public void setname(String name) {
this.name= name;
}
public abstract int fly() ;
}
package innerclass;
public class Test {
public void test(Animal animal) {
System.out.println(animal.getname()+"能够飞"+animal.fly()+"米");
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Test test = new Test();
test.test(new Animal(){
public int fly() {
return 1000;
}
public String getname() {
return "大雁";
}
});
}
}
输出