Java笔记(一)内部类
这是关于我对内部类理解的笔记,可能写的不怎么好,所以虚心接受大佬的指导
内部类(Nested Class)
- 定义在一个类中的另一个类被叫做内部类(Inner Class),
- 内部类有四种类型成员内部类、静态内部类、局部内部类、匿名内部类
- 成员内部类、局部内部类、匿名内部类中
成员内部类
// inner class
public class Main {
public static void main(String[] args) {
Outer outer = new Outer("Nested"); // 实例化一个Outer
Outer.Inner inner = outer.new Inner(); // 实例化一个Inner
inner.hello();
}
}
class Outer {
private String name;
Outer(String name) {
this.name = name;
}
class Inner {
void hello() {
System.out.println("Hello, " + Outer.this.name);
}
}
}
- 直接定义在类里面的是成员内部类,定义在类中,作用域也在类中,可以直接访问外部类的所有成员,包括私有的,
静态内部类
- 如果用
static
修饰的就是静态内部类。只能访问外部类的静态成员包括私有的
局部内部类
- 局部内部类定义在外部类的方法体或代码块中,作用域在这个代码块或方法体中。成员内部类可以直接访问外部类的所有成员包括私有的。只可以使用
final
修饰
匿名内部类
- 该类没有类名的话就是匿名内部类,定义在外部类的方法或代码块中,匿名内部类相当于创建了一个接口或类的对象,在对象中直接重写方法,如果这个匿名内部类声明了具体的对象名的,则可以复用这个对象,但是这个匿名内部类只能使用一次
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~