内部类(匿名内部类)(3)

匿名内部类
匿名内部类,就是一个没有名字的内部类,前提是匿名内部类一定是一个局部内部类。因为匿名内部类没有名字,所以在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 "大雁";
			}
		});
	}

}

输出

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务