Java笔记(一)内部类

这是关于我对内部类理解的笔记,可能写的不怎么好,所以虚心接受大佬的指导

内部类(Nested Class)

  1. 定义在一个类中的另一个类被叫做内部类(Inner Class),
  2. 内部类有四种类型成员内部类、静态内部类、局部内部类、匿名内部类
  3. 成员内部类、局部内部类、匿名内部类中

成员内部类

// 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);
        }
    }
}
  1. 直接定义在类里面的是成员内部类,定义在类中,作用域也在类中,可以直接访问外部类的所有成员,包括私有的,

静态内部类

  1. 如果用static修饰的就是静态内部类。只能访问外部类的静态成员包括私有的

局部内部类

  1. 局部内部类定义在外部类的方法体或代码块中,作用域在这个代码块或方法体中。成员内部类可以直接访问外部类的所有成员包括私有的。只可以使用final修饰

匿名内部类

  1. 该类没有类名的话就是匿名内部类,定义在外部类的方法或代码块中,匿名内部类相当于创建了一个接口或类的对象,在对象中直接重写方法,如果这个匿名内部类声明了具体的对象名的,则可以复用这个对象,但是这个匿名内部类只能使用一次
posted @   粘连禾斗  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示