java开发之内部类的用法

 更新时间:2013年05月02日 17:48:45   作者:  
本篇文章介绍了,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!

相关文章

  • Mybatis-Plus 多表联查分页的实现代码

    Mybatis-Plus 多表联查分页的实现代码

    本篇文章主要介绍了Mybatis-Plus 多表联查分页的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 如何利用MyBatisX插件自动生成代码

    如何利用MyBatisX插件自动生成代码

    这篇文章主要介绍了如何利用MyBatisX插件自动生成代码,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • java与C 代码运行效率的对比(整理)

    java与C 代码运行效率的对比(整理)

    最近和朋友无意间讨论起了 有关java 和C 的 效率问题, (我是java 推介者, 他是 c 语言推介者, 他做的是嵌入式)故,想通过网络查询一下, 总结一下,两者到底效率如何,其有何差异,原因又是啥?各种优势有在何处?
    2021-04-04
  • idea搭建mybatis环境配置全过程

    idea搭建mybatis环境配置全过程

    本文介绍了如何以IDEA搭建MyBatis环境配置的方法,包括步骤和注意事项,通过本文的介绍,可以轻松地以IDEA搭建MyBatis环境配置,提高开发效率
    2023-10-10
  • java实现延迟/超时/定时问题

    java实现延迟/超时/定时问题

    这篇文章主要介绍了java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Java生成二维码的实现方式汇总

    Java生成二维码的实现方式汇总

    本文将基于Spring Boot介绍两种生成二维码的实现方式,一种是基于Google开发工具包,另一种是基于Hutool来实现,下面我们将基于Spring Boot,并采用两种方式实现二维码的生成,对于每一种方式还提供两种类型的二维码返回形式,需要的朋友可以参考下
    2023-09-09
  • 全面解析SpringBoot文件上传功能

    全面解析SpringBoot文件上传功能

    这篇文章主要为大家全面解析SpringBoot文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 当Mybatis遇上目录树超全完美解决方案

    当Mybatis遇上目录树超全完美解决方案

    这篇文章主要介绍了当Mybatis遇上目录树有哪些解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Maven配置仓库、阿里云镜像、环境变量(史上最全)

    Maven配置仓库、阿里云镜像、环境变量(史上最全)

    本文主要介绍了Maven配置仓库、阿里云镜像、环境变量,文中通过图文示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-07-07
  • 详解spring cloud使用Hystrix实现单个方法的fallback

    详解spring cloud使用Hystrix实现单个方法的fallback

    本篇文章主要介绍了详解spring cloud-使用Hystrix实现单个方法的fallback,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01

最新评论