Java外部类和内部类
一:外部类:平时定义的类
二:内部类:一般情况下,类和类之间是相互独立的,内部类可以理解为打破了这种独立,让 一个类成为了一个类的内部信息,和成员变量成员方法同级。所以创建内部类的 时候要在外部类里面创建,不可以跳出外部类的大括号。同样内部类作为一个类也可以定义变量和方法
采用内部类这种技术,可以隐藏细节和内部结构,封装性更好,让程序的结构更为合理
1.非静态内部类:
在调用内部类的时候需要先写外部类的名称再.new 内部类名称
等号左边的外部类名称可以省略不写,在调用类后就可以用其方法和变量了
因为是非静态的所以需要外部类才可以使用
也可以在方法体中构造
此时不可以public class只能直接class,并且使用内部类创建对像的时候不用写外部类的名称
2.静态内部类
静态内部类的构造不需要依赖外部对象。//类中的所有静态组件都不需要依赖任何对象,所以直接通过类本身进行构造,但此时仍然需要写在外部类中
注意此时有static,在调用的时候不用写外部类的名称
3.匿名内部类
匿名内部类主要运用在接口的实现,在使用接口的时候需要实现类,并且在new的时候要new实现类的名称,而用匿名内部类的时候可以直接new接口的名称,回车后生成一个类里面的信息,相当于把实现类写在了里面
MyInterface是一个接口,使用内部类也可以实现一个接口
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具