/**
在外部调用用new OutClass().new InnerClass()来生成内部类对象.
内部类就是普通外部类属性。
*/
public class OutClass{
class InnerClass{
public void show(){
System.out.println("This is the method in inner class!!");
}
};
public static void main(String args[]){
OutClass.InnerClass instance=new OutClass().new InnerClass();
instance.show();
}
}
/**
定义内部类为static.
在外部调用用new OutClass.InnerClass()来生成内部类对象.
内部类中不能调用外部类中非static的属性.
*/
public class OutClass{
static class InnerClass{
public void show(){
System.out.println("This is the method in inner class!!");
}
};
public static void main(String args[]){
new OutClass.InnerClass().show() ;
}
}
/**
定义内部类在主类函数内.
此时内部类要用函数传递进来的参数时,这个参数必须为final.
*/
public class OutClass{
public void show(final int temp){
class InnerClass{
public void showc(){
System.out.println(temp);
}
}
new InnerClass().showc() ;
}
public static void main(String args[]){
new OutClass().show(30) ;
}
}