zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java开发之内部类的用法

JAVA开发 用法 之内 部类
2023-06-13 09:14:52 时间
在java的开发中,java开发人员建议,尽量少用内部类,要把内部类提出他所处的那个类,单独生成一个类。
直接来代码:
复制代码代码如下:

packagecom.b510;

 /**
 *内部类之间的调用
 *
 *@authorHongten
 *
 *@time2012-3-192012
 */
 publicclassInnerClassTest{

    publicstaticvoidmain(String[]args){
        //这是InnerClassTest的一个实例
        InnerClassTestinnerClassTest=newInnerClassTest();
        innerClassTest.sayHelloworld();

        //这是类A的一个实例
        InnerClassTest.Aia=innerClassTest.newA();
        ia.aSayHello();

        //这是InnerClassB的一个实例
        InnerClassTest.A.InnerClassBiab=ia.newInnerClassB();
        iab.bSayHello();

        //这是InnerClassC的一个实例
        InnerClassTest.A.InnerClassB.InnerClassCiabc=iab.newInnerClassC();
        iabc.cSayHello();

        //这是InnerClassD的一个实例
        InnerClassTest.A.InnerClassDiad=ia.newInnerClassD();
        iad.dSayHello();

        //这是InnerClassE的一个实例
        InnerClassTest.A.InnerClassB.InnerClassC.InnerClassEiabce=iabc.newInnerClassE();
        iabce.eSayHello();

        //当然在我们调用InnerClassE的时候,还可以写成这样
        InnerClassTest.A.InnerClassB.InnerClassC.InnerClassEe=newInnerClassTest().newA().newInnerClassB().newInnerClassC().newInnerClassE();
        System.out.println("======================分隔符====");
        e.eSayHello();
    }

    //类InnerClassTest中的方法
    publicvoidsayHelloworld(){
        System.out.println("iamTest,HelloWorld!");
    }

    /**
     *定义A类,他是InnerClassTest类的内部类
 */
    classA{
        //类A中的方法
        publicvoidaSayHello(){
            System.out.println("iamA,helloworld!");
        }

        /**
         *定义InnerClassB类,他继承类A
 */
        classInnerClassBextendsA{
            //类InnerClassB中的方法
            publicvoidbSayHello(){
                System.out.println("iamB,helloworld");
            }

            /**
             *定义InnerClassC类,他是InnerClassB的内部类
 */
            classInnerClassC{
                //类InnerClassC中的方法
                publicvoidcSayHello(){
                    System.out.println("iamC,helloworld!");
                }

                /**
                 *定义InnerClassE类,他是InnerClassC的内部类
 */
                classInnerClassE{
                    //类InnerClassE中的方法
                    publicvoideSayHello(){
                        System.out.println("iamE,Helloworld!");
                    }
                }
            }
        }

        /**
         *定义InnerClassD类,他是A的内部类
 */
        classInnerClassD{
            //类InnerClassD中的方法
            publicvoiddSayHello(){
                System.out.println("iamD,Helloworld!");
            }
        }
    }
 }

运行效果:
复制代码代码如下:

iamTest,HelloWorld!
 iamA,helloworld!
 iamB,helloworld
 iamC,helloworld!
 iamD,Helloworld!
 iamE,Helloworld!
 ======================分隔符====
 iamE,Helloworld!