首页 > 代码库 > 匿名内部类
匿名内部类
匿名内部类:没有类名的类就称作为匿名内部类
匿名内部类的好处:简化书写。
匿名内部类的使用前提:必须存在继承或者实现关系才能使用。
//继承: 简单使用: abstract class Animal{ public abstract void run(); } //匿名内部类:匿名内部类只是没有类名,其他的一概成员都是具备的。 //匿名内部类与Anumal是继承的关系。目前创建Anmail子类对象 new Animal(){ //匿名内部的成员 public void run(){ System.out.println("狗在跑!!"); } //特有的方法 public void bite(){ System.out.println("狗在咬人"); } }.run(); 多态配合使用: class Animal { public abstract void run(); public abstract void sleep(); } Animal a = new Animal(){ public void run(){ System.out.println("猫在跑!"); } public void sleep(){ System.out.println("猫在睡觉!"); } //特有的方法 就不要用匿名内部类了 }; a.run(); a.sleep();//实现 interface Dao{ public void run(); } class Outer{ public void print(){ new Dao(){//创建接口实现类的匿名内部类 public void run(){ System.out.println("执行成功"); } }.run(); } } class Demo{ public static void main (String[] args){ Outer out = new Outer(); out.print(); } } 匿名内部类一般用于实参。 interface Dao{ public void run(); } class Demo2{ public static void main(String[] args){ test(new Dao{ public void run(){ System.out.println("测试跑步成功"); } }); } public static void test(Dao d){ d.run(); } }
匿名内部类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。