1. 程式人生 > >java內部類的建立方式

java內部類的建立方式

      內部類我們在程式開發中經常會用到,這裡通過普通內部類,靜態內部類和方法內部類三種方式來介紹一下內部類的建立方式。

     1.普通內部類的建立:

/**
 * 
* 普通內部類的定義
*
 */
class Outer {
    private String name = "hello world !";
    //普通內部類定義
    class Inner{
      public void print(){
          System.out.println(name);
      }
    }
}
public class TestDemo {
    public static void main(String[] args) {
     Outer out = new Outer();
     out.new Inner().print();
    }
}
     通過上面的程式碼可以看出來,普通的內部類不必要通過外部類顯示定義私有屬性的get和set方法就可以訪問外部類的私有屬性。

    2.靜態內部類

/**
 * 
* 靜態內部類的定義
*
 */
class Outer{
    private static String name = "hello world !";
     static class Inner{
         public static void print(){
          System.out.println(name);   
         }
        
    }
}
public class TestDemo {
    public static void main(String[] args) {
     Outer.Inner.print();
    }
}
    通過觀察上面的程式碼,靜態內部類只能訪問外部類的靜態屬性,靜態內部類也不用通過外部類顯示定義靜態私有屬性的get和set方法就可以訪問外部類的私有屬性。

  3.方法內部類

/**
 * 
* 方法內部類的定義
*
 */
class Outer {
    private String name = "hello world !" ;
    public void fun(final int num){
        final String param = "我是方法引數";
       class Inner {
           public void  print(){
               System.out.println("方法傳入引數:"+num);
               System.out.println("外部類引數:"+Outer.this.name);
               System.out.println("方法內部引數:"+param);
           }  
       }
       new Inner().print();
        
    }   
}

public class TestDemo {
    public static void main(String[] args) {
     new Outer().fun(100);
    }
}
 方法內部類要想訪問方法傳入的引數和方法內部的引數,引數型別前面必須要新增final關鍵字來修飾。