内部类是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
