内部类是Java中一种非常有用的特性,在Java的编程中,经常会用到内部类,本文将详细介绍Java中的内部类,包括成员内部类、静态内部类、局部内部类的定义、使用方法和代码案例。
成员内部类指的是定义在另一个类中的类。在成员内部类中,可以访问外部类的所有成员变量和方法。
定义成员内部类的语法格式如下:
[修饰符] 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
在使用成员内部类时,需要先创建外部类对象,再通过外部类对象创建内部类对象,最后通过内部类对象调用方法。
静态内部类指的是定义在另一个类中的静态类。在静态内部类中,不能访问外部类的非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
在使用静态内部类时,可以直接通过外部类调用内部类的方法。
局部内部类指的是定义在方法中的类。在局部内部类中,可以访问外部类的所有成员变量和方法,但是外部类不能访问局部内部类的成员变量和方法。
定义局部内部类的语法格式如下:
[修饰符] 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中的三种内部类的定义、使用方法和代码案例介绍,希望对大家有所帮助。
本文为翻滚的胖子原创文章,转载无需和我联系,但请注明来自猿教程iskeys.com