java內部類之成員內部類之局部內部類
阿新 • • 發佈:2018-02-23
generated () 對象 靜態 pre rsh java內部類 cal pos
局部內部類特點:
1.定義在代碼塊、方法體內的類叫局部內部類
2.局部內部類訪問外部類的屬性和方法使用“外部類名.this.屬性名”和“外部類名.this.方法名(參數)”的形式
3.對外部世界完全隱藏,只能在作用域內生成對象。
局部內部類有以下限制:
1.局部類不能加訪問修飾符,因為他們不是類成員
2.成員內部類不能與外部類重名
3.局部內部類訪問作用域內的局部變量,該局部變量需要加final修飾
public class LocalInnerClass { public static void main(String[] args) { // TODO Auto-generated method stub Outer3 outer3 = new Outer3(); outer3.OuterShow(); } } class Outer3{ private int num1 = 1; private static int num2 = 2; public void OuterShow() { final int num4 = 4;//fianl好像修復了,不聲明為final在內部類裏也可以用(可以去掉final) //Inner inner = new Inner();不能在這裏實例化,因為Inner類還沒有初始化,就不能調用該類 class Inner{//局部內部類不能加訪問修飾符 public void show() { int num1 = 10; System.out.println(num1); System.out.println(Outer3.this.num1);//調用外部類的屬性寫法 System.out.println(Outer3.num2);//調用外部靜態屬性寫法 System.out.println(num4); } } Inner inner = new Inner();//應該在這裏實例化 inner.show(); } }
java內部類之成員內部類之局部內部類