成员内部类
package day41;
//成员内部类的演示
public class InnerClassDemo {
public static void main(String[] args) {
Mama m = new Mama();
//Baby b = new Baby();//编译错误,内部类对外不可见
}
}
class Mama{
private String name;
Baby b = new Baby();//内部类对象通常需要再外部类中创建
class Baby{
void showMamaName(){
System.out.println(name);//省略写法
System.out.println(Mama.this.name);//标准写法
//System.out.println(this.name);//编译错误,因为this表示当权内部类对象
}
}
}
注解
- 成员内部类:应用率不高
1) 类中套类,外面的成为Outer外部类,里面的成为Inner内部类
2) 内部类通常只在外卖类使用,对外不具备可见性
3) 内部类对象通常是对外部类中创建的
4) 内部类中可以直接访问外部类的成员(包括私有的)
内部类中有个隐式的引用指向了创建它的外部类对象
eg:外部类名.this