内部类概念:
一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类
内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类
成员内部类
在一个类的成员方法中。或者说,定义在一个成员方法的中的类就是局部内部类。
注意:
第一:成员内部类中不能存在任何static的变量和方法;
第二:成员内部类是依附于外围类的,所以只有先创建了外围类才能够创建内部类。
//假如它外面没有类Man就是 外部类
class Man {
private int age = 26;
public int height = 182;
//内部类
class XiaoMing {
public void Fine() {
System.out.println(age);
System.out.println(height);
}
}
成员内部类可以访问外部类的静态和非静态的方法和成员变量。
生成成员内部类的实例对象的方式:Outer.Inner inner = new Outer().new Inner()。
如果想要在成员内部类中访问外部类的成员变量,语法是:Outer.this.成员变量。
//外部类
public class People {
public static void main(String[] args) {
Man.Women women = new Man().new Women();
women.method();
}
//内部类
public static class Man {
private int age = 26;
public int height = 182;
//内部类
public class Women {
public void method(){
System.out.println(age);
System.out.println(height);
}
}
}
}