Java中的内部类:成员内部类、静态内部类、局部内部类

内部类是Java中一种非常有用的特性,在Java的编程中,经常会用到内部类,本文将详细介绍Java中的内部类,包括成员内部类、静态内部类、局部内部类的定义、使用方法和代码案例。


1. 成员内部类

成员内部类指的是定义在另一个类中的类。在成员内部类中,可以访问外部类的所有成员变量和方法。

定义成员内部类的语法格式如下:

[修饰符] class 外部类名.内部类名 {
    // 类体
}

其中,修饰符可以是public、protected、private、static、final和abstract等。

成员内部类的使用方法如下:

public class Outer {
    private int x = 100;
    
    class Inner {
        void print() {
            System.out.println("x=" + x);
        }
    }
    
    public void test() {
        Inner inner = new Inner();
        inner.print();
    }
}

public class Test {
    public static void main(String[] args) {
        Outer outer = new Outer();
        outer.test();
    }
}

输出结果为:

x=100

在使用成员内部类时,需要先创建外部类对象,再通过外部类对象创建内部类对象,最后通过内部类对象调用方法。


2. 静态内部类

静态内部类指的是定义在另一个类中的静态类。在静态内部类中,不能访问外部类的非static成员变量和方法。

定义静态内部类的语法格式如下:

[修饰符] static class 外部类名.内部类名 {
    // 类体
}

其中,修饰符可以是public、protected、private、static、final和abstract等。

静态内部类的使用方法如下:

public class Outer {
    private static int x = 100;
    
    static class Inner {
        void print() {
            System.out.println("x=" + x);
        }
    }
    
    public static void test() {
        Inner inner = new Inner();
        inner.print();
    }
}

public class Test {
    public static void main(String[] args) {
        Outer.test();
    }
}

输出结果为:

x=100

在使用静态内部类时,可以直接通过外部类调用内部类的方法。


3. 局部内部类

局部内部类指的是定义在方法中的类。在局部内部类中,可以访问外部类的所有成员变量和方法,但是外部类不能访问局部内部类的成员变量和方法。

定义局部内部类的语法格式如下:

[修饰符] class 外部类名.方法名.内部类名 {
    // 类体
}

其中,修饰符可以是final。

局部内部类的使用方法如下:

public class Outer {
    private int x = 100;
    
    public void test() {
        final int y = 200;
        
        class Inner {
            void print() {
                System.out.println("x=" + x);
                System.out.println("y=" + y);
            }
        }
        
        Inner inner = new Inner();
        inner.print();
    }
}

public class Test {
    public static void main(String[] args) {
        Outer outer = new Outer();
        outer.test();
    }
}

输出结果为:

x=100
y=200

在使用局部内部类时,需要先创建外部类对象,再通过外部类对象调用方法,最后通过方法中的局部内部类对象调用方法。


以上就是Java中的三种内部类的定义、使用方法和代码案例介绍,希望对大家有所帮助。

猿教程
请先登录后发表评论
  • 最新评论
  • 总共0条评论