
说明
1、内部类可分为:静态内部类和非静态内部类。
2、非静态内部类分为:成员内部类、方法内部类、匿名内部类等。
实例
publicclassClassOuter{
privateintnoStaticInt=1;
privatestaticintSTATIC_INT=2;
publicvoidfun(){
System.out.println("外部类方法");
}
publicclassInnerClass{
//staticintnum=1;此时编辑器会报错非静态内部类则不能有静态成员
publicvoidfun(){
//非静态内部类的非静态成员可以访问外部类的非静态变量。
System.out.println(STATIC_INT);
System.out.println(noStaticInt);
}
}
publicstaticclassStaticInnerClass{
staticintNUM=1;//静态内部类可以有静态成员
publicvoidfun(){
System.out.println(STATIC_INT);
//System.out.println(noStaticInt);此时编辑器会报不可访问外部类的非静态变量错
}
}
}
publicclassTestInnerClass{
publicstaticvoidmain(String[]args){
//非静态内部类创建方式1
ClassOuter.InnerClassinnerClass=newClassOuter().newInnerClass();
//非静态内部类创建方式2
ClassOuterouter=newClassOuter();
ClassOuter.InnerClassinner=outer.newInnerClass();
//静态内部类的创建方式
ClassOuter.StaticInnerClassstaticInnerClass=newClassOuter.StaticInnerClass();
}
}
以上就是java内部类的两种类型,希望对大家有所帮助。更多Java学习指路:Java基础
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



















































暂无评论内容