说明
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
暂无评论内容