java內部類基礎(靜態內部類)

public class InnerClass3 {
 private static int i = 1;
 private int j = 10;
 
 public static void outer_f1() {
  
 }
 
 public void outer_f2() {
  
 }
 
 // 靜態內部類能夠用public,protected,private修飾(和成員內部類相比,多了一個public修飾符)
 // 靜態內部類中能夠定義靜態或者非靜態的成員,可是隻能外部類的  靜態方法或靜態變量
 static class Inner {
  static int inner_i = 100;
  int inner_j = 200; spa

  static void inner_f1() {
   //靜態內部類只能訪問外部類的靜態成員(包括靜態變量和靜態方法)
   //j++;
   System.out.println("Outer.i" + i);
   outer_f1();
  } class

  // 即使自身不是 靜態的方法
  void inner_f2() {
   // 靜態內部類不能訪問外部類的非靜態成員
   // System.out.println("Outer.i"+j);
   // outer_f2();
  }
 } 變量

 public void outer_f3() {
  // 外部類方法訪問內部類的靜態成員:內部類.靜態成員
  System.out.println(Inner.inner_i);
  Inner.inner_f1(); 方法

  // 外部類方法訪問內部類的非靜態成員:實例化內部類便可
  Inner inner = new Inner();
  inner.inner_f2();
 } static

 public static void main(String[] args) {
  new InnerClass3().outer_f3();
  
  InnerClass3.Inner inner= new InnerClass3.Inner();//前面要不要前綴均可以。
  Inner inner1= new InnerClass3.Inner();//前面要不要前綴均可以。
 }
} co

相關文章
相關標籤/搜索