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. 该类没有类名的话就是匿名内部类,定义在外部类的方法或代码块中,匿名内部类相当于创建了一个接口或类的对象,在对象中直接重写方法,如果这个匿名内部类声明了具体的对象名的,则可以复用这个对象,但是这个匿名内部类只能使用一次

来源链接:https://www.cnblogs.com/lenmonman/p/18652330

© 版权声明
THE END
支持一下吧
点赞14 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容