网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

学习匿名内部类访问外部变量,能轻松实现代码复用与优化?

GG网络技术分享 2025-11-22 11:44 0


啥是内部类?

啊哈, 内部类就是在一个类里面再定义一个类,就像是套娃一样,一个类里面Neng套另一个类。内部类Neng访问外部类的全部成员,包括私有成员。

内部类轻巧松介绍

内部类分为两种, 一种是普通内部类,另一种是匿名内部类。普通内部类有点像是一个细小帮手,Neng在外部类里面被创建和用。而匿名内部类就像是一个超级英雄,不需要名字,直接就Neng用。

实例内部类

实例内部类的成员变量和方法的构建

比如说 我们有一个外部类叫ZuoOuter,我们Neng在Outer里面定义一个内部类叫ZuoInner。InnerNeng访问Outer的全部成员。

public class Outer {
        private int num = 10;
        public class Inner {
            public void print {
                System.out.println;
            }
        }
    }
    

实例内部类在类外创建

实例内部类只Neng在它的外部类实例化之后创建。比如说我们创建了一个Outer的实例,然后通过这玩意儿实例来创建Inner的实例。

Outer outer = new Outer;
Outer.Inner inner = outer.new Inner;
inner.print; // 输出10

在内部类访问外部类的成员变量

内部类Neng直接访问外部类的成员变量,就像它们是自己的成员一样。

静态内部类

静态内部类有点特殊,它们不需要外部类的实例就Neng被创建和用。静态内部类不Neng访问非静态成员。

public class Outer {
    private static int num = 20;
    public static class StaticInner {
        public void print {
            System.out.println;
        }
    }
}

匿名内部类

匿名内部类是内部类的一种特殊形式, 它没有名字,只Neng在定义它的方法内部用。匿名内部类Neng继承一个类,也Neng实现一个接口。

public class Outer {
    public void doSomething {
        new Runnable {
            @Override
            public void run {
                System.out.println;
            }
        }.run;
    }
}

通过学内部类和匿名内部类,我们Neng轻巧松实新潮码的复用和优化。内部类Neng帮我们组织代码,搞优良代码的可读性。匿名内部类则Neng让我们在不创建新鲜类的情况下实现接口或继承类。

标签:

提交需求或反馈

Demand feedback