局部内部类
局部内部类
局部内部类是定义在一个类种的方法中的类。
定义在方法中的类,就是局部类,如果一个方法只考虑在一个类中适应,就可以考虑使用局部内部类
package innerclass;
//定义了一个局部内部类
//定义在方法中的类,就是局部类,如果一个方法只考虑在一个类中适应,就可以考虑使用局部内部类
public class Out3 {
private static int a;
private int b;
public void test(final int c) {
final int d = 1;
class inner {
public void print() {
System.out.println(a);
System.out.println(c);
System.out.println("小白小白,小白的程序员");
}
}
}
}
①局部内部类可以不加public、protected、private访问修饰符,因为局部内部类就是只在一个方法中使用的。
②只能在当前定义局部内部类的方法中可以通过局部内部类的对象使用内部类中的成员,通过类可以使用静态。
下面在看一个局部内部类的例子
package innerclass;
//定义了一个People类
public class People {
public People(){
}
}
//定义了一个Man类
class Man{
public Man() {
}
//在Manlei中有一个方法,在方法中定义了一个类,这个类就是局部内部类。
public People Woman() {
class Woman extends People{
int age = 0;
}
return new Woman();
}
}
③局部内部类相当于方法中的局部变量,在其他类中或者该类的其他方法都不能访问改局部内部类。
④不可以在局部内部类中使用可变的局部变量。