Java 内部类特点及用法

    xiaoxiao2021-12-14  18

    1、内部类定义在成员变量位置上:可以直接访问外部类成员;可以被private和static 修饰;被static修饰的内部类只能访问外部类中的静态成员。

    2、内部类定义在局部位置:也可以直接访问外部类成员;不可以被private和static 修饰;可以访问局部中的局部变量,但必须是被final修饰的。

    package com.mashen.inner; class TestInner { private String name ; private static int age; static class Haha{ //定义在成员变量位置 public void test() { age = 11; System.out.println(age); } } public void hehe(){ class Haha{ //定义在局部变量位置 public void test() { name = "aaa"; System.out.println(name); } } } } 3、匿名内部类:必须实现或继承一个类或者借口。简单来说,就是建立一个带内容的外部类或接口的子类的匿名对象。

    package com.mashen.inner; /** * * 定义一个A抽象类 * */ public abstract class A { public abstract void test(); } package com.mashen.inner; public class AnonymousClass { String name; public void test1(){ /** * 匿名内部类 * 必须有继承或实现 */ new A(){ @Override public void test() { name = "bbb"; } }.test(); } }

    转载请注明原文地址: https://ju.6miu.com/read-962451.html

    最新回复(0)