前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java_内部类

java_内部类

作者头像
Hongten
发布2018-09-13 16:38:09
3740
发布2018-09-13 16:38:09
举报
文章被收录于专栏:HongtenHongten

在java的开发中,java开发人员建议,尽量少用内部类,要把内部类提出他所处的那个类,单独生成一个类。 直接来代码:

代码语言:javascript
复制
 1 package com.b510;
 2 
 3 /**
 4  * 内部类之间的调用
 5  * 
 6  * @author Hongten
 7  * 
 8  * @time 2012-3-19 2012
 9  */
10 public class InnerClassTest {
11 
12     public static void main(String[] args) {
13         // 这是InnerClassTest的一个实例
14         InnerClassTest innerClassTest = new InnerClassTest();
15         innerClassTest.sayHelloworld();
16 
17         // 这是类A的一个实例
18         InnerClassTest.A ia = innerClassTest.new A();
19         ia.aSayHello();
20 
21         // 这是InnerClassB的一个实例
22         InnerClassTest.A.InnerClassB iab = ia.new InnerClassB();
23         iab.bSayHello();
24 
25         // 这是InnerClassC的一个实例
26         InnerClassTest.A.InnerClassB.InnerClassC iabc = iab.new InnerClassC();
27         iabc.cSayHello();
28 
29         // 这是InnerClassD的一个实例
30         InnerClassTest.A.InnerClassD iad = ia.new InnerClassD();
31         iad.dSayHello();
32 
33         // 这是InnerClassE的一个实例
34         InnerClassTest.A.InnerClassB.InnerClassC.InnerClassE iabce = iabc.new InnerClassE();
35         iabce.eSayHello();
36 
37         // 当然在我们调用InnerClassE的时候,还可以写成这样
38         InnerClassTest.A.InnerClassB.InnerClassC.InnerClassE e = new InnerClassTest().new A().new InnerClassB().new InnerClassC().new InnerClassE();
39         System.out.println("======================分隔符====");
40         e.eSayHello();
41     }
42 
43     // 类InnerClassTest中的方法
44     public void sayHelloworld() {
45         System.out.println("i am Test,HelloWorld!");
46     }
47 
48     /**
49      * 定义A类,他是InnerClassTest类的内部类
50 */
51     class A {
52         // 类A中的方法
53         public void aSayHello() {
54             System.out.println("i am A,helloworld!");
55         }
56 
57         /**
58          * 定义InnerClassB类,他继承类A
59 */
60         class InnerClassB extends A {
61             // 类InnerClassB中的方法
62             public void bSayHello() {
63                 System.out.println("i am B,helloworld");
64             }
65 
66             /**
67              * 定义InnerClassC类,他是InnerClassB的内部类
68 */
69             class InnerClassC {
70                 // 类InnerClassC中的方法
71                 public void cSayHello() {
72                     System.out.println("i am C,helloworld!");
73                 }
74 
75                 /**
76                  * 定义InnerClassE类,他是InnerClassC的内部类
77 */
78                 class InnerClassE {
79                     // 类InnerClassE中的方法
80                     public void eSayHello() {
81                         System.out.println("i am E,Helloworld!");
82                     }
83                 }
84             }
85         }
86 
87         /**
88          * 定义InnerClassD类,他是A的内部类
89 */
90         class InnerClassD {
91             // 类InnerClassD中的方法
92             public void dSayHello() {
93                 System.out.println("i am D,Helloworld!");
94             }
95         }
96     }
97 }

 运行效果: 

代码语言:javascript
复制
1 i am Test,HelloWorld!
2 i am A,helloworld!
3 i am B,helloworld
4 i am C,helloworld!
5 i am D,Helloworld!
6 i am E,Helloworld!
7 ======================分隔符====
8 i am E,Helloworld!
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-03-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档