內部類

package com.innerClass;
public class Outer {
public static void main(String[] args) {
       Outer2 outer2=new Outer2();//外部調用
       outer2.print();//對象調用外部類的方法,在外部類又經過實例化對象調用內部類的方法
  //直接在外部使用內部類,這種方法不推薦使用
       Outer2.InnerClass inner=outer2.new InnerClass("在外部使用");
       inner.print();
       outer2.print2();//調用在方法中定義內部類
}
}
/*//成員內部類,編譯時產生兩個文件Outer.class和Outer$Inner.class(內部的類)
*/class Outer2{
public void print(){
InnerClass inner=new InnerClass("成員內部類");//調用內部類的方法
    inner.print();
}
public void print2(){
//在方法中定義內部類
class InnerClass2{
public void print(){
System.out.println("在方法中定義內部類");
}
}
InnerClass2 inner=new InnerClass2();
inner.print();
}
class InnerClass{
//供外部類調用內部類的方法和參數
private String name;
public InnerClass(String name){
this.name=name;
}
public void print(){
System.out.println(name);
}
}
}
相關文章
相關標籤/搜索