内部类的相关作用
1.便于更好地封装,可将内部类隐于外部类之内,不允许同一包的其他类访问。
2.内部类方法可直接访问外部类包所有私有数据。‘
3.内部类更加方便。
分类:成员内部类 静态内部类 方法内部类 匿名内部类
public class Study1 {
public class Inner{
public void shoe(){
System.out.println("welcome to yujiatou!");
}
}
public void shoe2(){
System.out.println("welcome abaord!");
}
public static void main(String[]args){
Study1 hello=new Study1();
Inner i=hello.new Inner();
i.shoe();
i.shoe2();//无法访问,只有改成hello.shoe2();
}
}
一:成员内部类
使用this访问同名成员属性,
注意。创建内部类对象需要Inner i=o.new Inner();
内部类可直接访问外部类,甚至private;
二:静态内部类
注意事项:1;静态内部类不能直接访问外部类非静态成员,可用new 外部类.成员实现
2:访问同名变量时候,与成员变量不同,不需要this,直接外部类.变量名
3:与成员变量不同,创建对象直接SInner si=new SInner();
三:*方法内部类
注意:方法内部类只能在方法以内使用,方法内部类不能访问控制符和ststic修饰符