成员内部类
//外部类
public class outer {
//外部类的变量,内部类可以访问
int i=5;
//内部类
public class inner{
//方法用来访问并返回外部类变量i
int geti(){
return i;
}
}
//外部类的方法用来创建内部类实例
public inner getclass(){
return new inner();
}
public static void main(String[] args){
//通过先创建外部类实例来创建内部类实例,注意"."
outer out=new innerclasstest();
outer.inner in=out.getclass();
System.out.println(in.geti());
}
}
局部内部类(定义在方法内和定义在作用域内的类)
暂无
匿名内部类
public class Outer{
public Inner getInner(int i){
// new Inner(){} 即返回一个Inner的子类类实例
return new Inner(){
int num=i+3;
public int getNumber(){
return num;
}
};
}
public static void main(String[] args){
Outer out=new Outer();
Inner in=out.getInner(5);
System.out.println(in.getNumber());
}
}
//必须有这个接口(直接当作类???)
interface Inner{
int getNumber();
}
网友评论