一、前言
在前面介绍了一些有关于内部类的知识点后,本文将介绍内部类中最重要的知识点:匿名内部类‘
二、概述
- 匿名内部类 :是内部类的简化写法
- 包含内容:继承\实现;方法; 创建对象
三、格式
new 类名或接口名(){ public void show(){ ··· } };
四、实例
1.代码及操作
package newTest2; public interface swim { public abstract void swim(); }
package newTest2; public class test1 { public static void main(String[] args) { new swim(){ @Override public void swim() { System.out.println("自由泳"); } }.swim(); } }
2.测试代码
五、 匿名内部类的特点
- 定义一个没有名字的内部类
- 这个类实现了父类,或者父类接口
- 匿名内部类会创建这个没有名字的类的对象
六、应用实例
通常在方法的形式参数是接口或者抽象类时,也可以将匿名内部类作为参数传递
interface Swim { public abstract void swimming(); }
public class test { public static void main(String[] args) { // 普通方式传入对象 // 创建实现类对象 Student s = new Student(); goSwimming(s); // 匿名内部类使用场景:作为方法参数传递 Swim s3 = new Swim() { @Override public void swimming() { System.out.println("蝶泳..."); } }; // 传入匿名内部类 goSwimming(s3); // 完美方案: 一步到位 goSwimming(new Swim() { public void swimming() { System.out.println("大学生, 蛙泳..."); } }); goSwimming(new Swim() { public void swimming() { System.out.println("小学生, 自由泳..."); } }); } // 定义一个方法,模拟请一些人去游泳 public static void goSwimming(Swim s) { s.swimming(); } }
七、结语
匿名内部类的知识点很重要,如果想要运用在实际项目中还需要多加练习,如果有任何的问题欢迎留言评论