[轉]內部類的方法(外部調用內部類的方法)


1.使用static可以聲明一個內部類, 可以直接在外部調用

 1 class Outer{                            // 定義外部類
 2     private static String info = "hello world" ;        // 定義外部類的私有屬性
 3     static class Inner{                      // 使用static定義內部類為外部類
 4         public void print(){                        // 定義內部類的方法
 5             System.out.println(info) ;              // 直接訪問外部類的私有屬性
 6         }
 7     };
 8     public void fun(){                              // 定義外部類的方法
 9         new Inner().print() ;                    // 通過內部類的實例化對象調用方法
10     }
11 }
12 public class InnerClassDemo03{
13     public static void main(String args[]){
14         new Outer.Inner().print() ;                    // 調用外部類的fun()方法
15     }
16 }

 

2.通過內部類實例化 ,使外部調用

 1 class Outer{        // 定義外部類
 2     private String info = "hello world" ;    // 定義外部類的私有屬性
 3     class Inner{    // 定義內部類
 4         public void print(){                // 定義內部類的方法
 5             System.out.println(info) ;        // 直接訪問外部類的私有屬性
 6         }
 7     }
 8 }
9 public class InnerClassDemo04{ 10 public static void main(String args[]){ 11 Outer out = new Outer() ; // 外部類實例化對象 12 Outer.Inner in = out.new Inner() ; // 實例化內部類對象 13 in.print() ; // 調用內部類的方法 14 } 15 }

 

3.在方法中定義內部類 ,使外部調用

 1 class Outer{        // 定義外部類
 2     private String info = "hello world" ;    // 定義外部類的私有屬性
 3     public void fun(final int temp){        // 定義外部類的方法
 4         class Inner{                        // 在方法中定義的內部類
 5             public void print(){                // 定義內部類的方法
 6                 System.out.println("類中的屬性:" + info) ;        // 直接訪問外部類的私有屬性
 7                 System.out.println("方法中的參數:" + temp) ;
 8             }
 9         }
10         new Inner().print() ;                // 通過內部類的實例化對象調用方法
11     }
12 }
13 public class InnerClassDemo05{
14     public static void main(String args[]){
15         new Outer().fun(30) ;    // 調用外部類的方法
16     }
17 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM