Java面向对象11——匿名内部类知识点总结

简介: Java面向对象11——匿名内部类知识点总结

一、前言


在前面介绍了一些有关于内部类的知识点后,本文将介绍内部类中最重要的知识点:匿名内部类


二、概述


  • 匿名内部类 :是内部类的简化写法
  • 包含内容:继承\实现;方法; 创建对象


三、格式


new 类名或接口名(){
  public void show(){
  ···
  }
};


四、实例


1.代码及操作


2f3ee36d9e0047ee87601ee4389d2af1.png

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.测试代码


5627eab372b446bfb169d333016f2416.png


五、 匿名内部类的特点


  • 定义一个没有名字的内部类
  • 这个类实现了父类,或者父类接口
  • 匿名内部类会创建这个没有名字的类的对象


六、应用实例


通常在方法的形式参数是接口或者抽象类时,也可以将匿名内部类作为参数传递


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();
    }
}


七、结语


匿名内部类的知识点很重要,如果想要运用在实际项目中还需要多加练习,如果有任何的问题欢迎留言评论

相关文章
|
2天前
|
存储 SQL Java
[Java]知识点
[Java]知识点
18 1
[Java]知识点
|
16天前
|
存储 Java 编译器
【Java SE语法篇】7.面向对象——类和对象
【Java SE语法篇】7.面向对象——类和对象
【Java SE语法篇】7.面向对象——类和对象
|
27天前
|
监控 网络协议 Java
《Java工程师成神之路》阿里技术专家之作,囊括Java所有知识点!
很多Java程序员一直希望找到一份完整的学习路径,但是市面上很多书都是专注某一个领域的,没有一份完整的大图,以至于很多程序员很迷茫,不知道自己到底应该从哪里开始学,或者不知道自己学习些什么。
|
1月前
|
安全 Java
Java多线程(全知识点)(下)
Java多线程(全知识点)(下)
32 0
|
1月前
|
Java 调度
Java多线程(全知识点)(上)
Java多线程(全知识点)
37 0
|
16天前
|
安全 Java C++
【Java SE语法篇】8.面向对象三大特征——封装、继承和多态
【Java SE语法篇】8.面向对象三大特征——封装、继承和多态
|
28天前
|
设计模式 NoSQL Java
绝对干货,掌握这27个知识点,轻松拿下80%的技术面试(Java岗)
Java的诞生已经超过了20年。一直以来,Java以其语法简单,开发者可以快速上手,适应众多领域,具有跨平台能力等特性,吸引了无数程序员学习和使用。基于Java优秀的特性和庞大的使用基础,各大公司对Java工程师的需求也是源源不断。
|
29天前
|
设计模式 Java 编译器
Java 设计模式最佳实践:一、从面向对象到函数式编程
Java 设计模式最佳实践:一、从面向对象到函数式编程
14 0
|
1月前
|
设计模式 Java Linux
Java核心-面向对象(中)
聊一聊面向对象的三大特性:封装、继承和多态。
64 1
Java核心-面向对象(中)
|
1月前
|
Java 索引
最新Java基础系列课程--Day08-面向对象高级(三)
最新Java基础系列课程--Day08-面向对象高级

热门文章

最新文章

相关产品

  • 云迁移中心