java内部类的两种类型

美女程序员鼓励师

说明

1、内部类可分为:静态内部类和非静态内部类。

2、非静态内部类分为:成员内部类、方法内部类、匿名内部类等。

实例

public class ClassOuter {

    private int noStaticInt = 1;

    private static int STATIC_INT = 2;

 

    public void fun() {

        System.out.println("外部类方法");

    }

 

    public class InnerClass {

        //static int num = 1; 此时编辑器会报错 非静态内部类则不能有静态成员

        public void fun(){

            //非静态内部类的非静态成员可以访问外部类的非静态变量。

            System.out.println(STATIC_INT);

            System.out.println(noStaticInt);

        }

    }

 

    public static class StaticInnerClass {

        static int NUM = 1;//静态内部类可以有静态成员

        public void fun(){

            System.out.println(STATIC_INT);

            //System.out.println(noStaticInt); 此时编辑器会报 不可访问外部类的非静态变量错

        }

    }

}

 

public class TestInnerClass {

    public static void main(String[] args) {

        //非静态内部类 创建方式1

        ClassOuter.InnerClass innerClass = new ClassOuter().new InnerClass();

        //非静态内部类 创建方式2

        ClassOuter outer = new ClassOuter();

        ClassOuter.InnerClass inner = outer.new InnerClass();

        //静态内部类的创建方式

        ClassOuter.StaticInnerClass staticInnerClass = new ClassOuter.StaticInnerClass();

    }

}

以上就是java内部类的两种类型,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

以上是 java内部类的两种类型 的全部内容, 来源链接: utcz.com/z/544173.html

回到顶部