Java 匿名内部类

本文深入探讨匿名内部类的概念,通过实例展示了如何在一个方法体内部实现接口,无需显式定义类名。解释了匿名类在编译后如何形成独特类名的原理,并提供了一个具体示例来说明其应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果一个局部内部类没有名字,就是匿名内部类。

package com.mode;

import com.mode.infa.InterfaceTest;

public class AnonymousClass {
	public void test(){
		/*
		 * 匿名内部类根本没有出现class关键字,但是事实上它还是被创建了。
		 * 该匿名类实现了InterfaceTest接口,直接在方法体中就提供实现。
		 * 当然如果你需要传入参数,直接在InterfaceTest后面的括号中传入参数就可以了。
		 * 其实它相当于一个局部内部类,只是没有名字,外部无法引用它。
		 * 匿名类在编译后的class文件直接是按照匿名类的排列顺序来的,直接在外部类名
		 * 后面加上"$"和序号。譬如这个匿名内部com.mode.AnonymousClass$1.class.
		 */
		new InterfaceTest()
		{
			public void test()
			{
				
			}
		};
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值