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); } } }