广

Java编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    java开发之内部类的用法

    2018-11-09 09:48:28 次阅读 稿源:互联网
    零七广告
    在java的开发中,java开发人员建议,尽量少用内部类,要把内部类提出他所处的那个类,单独生成一个类。
    直接来代码:
    代码如下:

    package com.b510;

     /**
      * 内部类之间的调用
      *
      * @author Hongten
      *
      * @time 2012-3-19 2012
      */
     public class InnerClassTest {

         public static void main(String[] args) {
             // 这是InnerClassTest的一个实例
             InnerClassTest innerClassTest = new InnerClassTest();
             innerClassTest.sayHelloworld();

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

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

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

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

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

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

         // 类InnerClassTest中的方法
         public void sayHelloworld() {
             System.out.println("i am Test,HelloWorld!");
         }

         /**
          * 定义A类,他是InnerClassTest类的内部类
     */
         class A {
             // 类A中的方法
             public void aSayHello() {
                 System.out.println("i am A,helloworld!");
             }

             /**
              * 定义InnerClassB类,他继承类A
     */
             class InnerClassB extends A {
                 // 类InnerClassB中的方法
                 public void bSayHello() {
                     System.out.println("i am B,helloworld");
                 }

                 /**
                  * 定义InnerClassC类,他是InnerClassB的内部类
     */
                 class InnerClassC {
                     // 类InnerClassC中的方法
                     public void cSayHello() {
                         System.out.println("i am C,helloworld!");
                     }

                     /**
                      * 定义InnerClassE类,他是InnerClassC的内部类
     */
                     class InnerClassE {
                         // 类InnerClassE中的方法
                         public void eSayHello() {
                             System.out.println("i am E,Helloworld!");
                         }
                     }
                 }
             }

             /**
              * 定义InnerClassD类,他是A的内部类
     */
             class InnerClassD {
                 // 类InnerClassD中的方法
                 public void dSayHello() {
                     System.out.println("i am D,Helloworld!");
                 }
             }
         }
     }

    运行效果:
    代码如下:

    i am Test,HelloWorld!
     i am A,helloworld!
     i am B,helloworld
     i am C,helloworld!
     i am D,Helloworld!
     i am E,Helloworld!
     ======================分隔符====
     i am E,Helloworld!

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告