当前位置: 移动技术网 > IT编程>开发语言>Java > java开发之内部类的用法

java开发之内部类的用法

2019年07月22日  | 移动技术网IT编程  | 我要评论
在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!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网