java內部類和外部類


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

 

class Outer{        // 定義外部類
    private static String info = "hello world" ;    // 定義外部類的私有屬性
    static class Inner{    // 使用static定義內部類為外部類
        public void print(){                // 定義內部類的方法
            System.out.println(info) ;        // 直接訪問外部類的私有屬性
        }
    };
    public void fun(){                        // 定義外部類的方法
        new Inner().print() ;                // 通過內部類的實例化對象調用方法
    }
};
public class InnerClassDemo03{
    public static void main(String args[]){
        new Outer.Inner().print() ;                    
    }
};

 

2.不使用static聲明一個內部類 ,使外部調用

class Outer{        // 定義外部類
    private String info = "hello world" ;    // 定義外部類的私有屬性
    class Inner{    // 定義內部類
        public void print(){                // 定義內部類的方法
            System.out.println(info) ;        // 直接訪問外部類的私有屬性
        }
    };
    public void fun(){                        // 定義外部類的方法
        new Inner().print() ;                // 通過內部類的實例化對象調用方法
    }
};
public class InnerClassDemo04{
    public static void main(String args[]){
        Outer out = new Outer()    ;            // 外部類實例化對象
        Outer.Inner in = out.new Inner() ;    // 實例化內部類對象
        in.print() ;                        // 調用內部類的方法
    }
};

 

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

 

class Outer{        // 定義外部類
    private String info = "hello world" ;    // 定義外部類的私有屬性
    public void fun(final int temp){        // 定義外部類的方法
        class Inner{                        // 在方法中定義的內部類
            public void print(){                // 定義內部類的方法
                System.out.println("類中的屬性:" + info) ;        // 直接訪問外部類的私有屬性
                System.out.println("方法中的參數:" + temp) ;
            }
        };
        new Inner().print() ;                // 通過內部類的實例化對象調用方法
    }
};
public class InnerClassDemo05{
    public static void main(String args[]){
        new Outer().fun(30) ;    // 調用外部類的方法
    }
};

 

 


免責聲明!

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



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