程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> java開發之內部類的用法

java開發之內部類的用法

編輯:JAVA編程入門知識
在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!
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved