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

一、前言

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

二、概述

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

三、格式

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

七、结语

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

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alita11101_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值