A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 毛标 中级黑马   /  2012-9-1 00:07  /  1642 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 毛标 于 2012-9-1 15:05 编辑

package com;

public class A {
        static class D{
                static class E{
                        class B{
                                class C{
                                        void show(){
                                                
                                        }
                                }
                        }
                }
        }
        public static void main(String[] args) {
                System.out.println()
        }
}
怎么调用SHOW方法啊 求解释

评分

参与人数 1技术分 +1 收起 理由
田建 + 1

查看全部评分

4 个回复

倒序浏览
public class A
{
        static class D
                {
                static class E
                                {
                        class B
                                                {
                                class C
                                                                {
                                        void show()
                                                                                {
                                             System.out.println("你好");   
                                        }
                                }
                        }
                }
        }
        public static void main(String[] args)
                {
                        A.D.E.B.C t = new A.D.E().new B().new C();//  这样调用
                        t.show();
               
        }
}
回复 使用道具 举报
本帖最后由 王得新 于 2012-9-1 01:19 编辑

内部类其实就是外部类的一个成员定义,在类中如同使用其它类一样可以使用自己的内部类
public class A
{
        static class D
        {
                static class E
                {
                        class B
                        {
                                class C
                                 {
                                        void show()
                                        {
                                            代码块;  
                                        }
                                }
                        }
                }
        }
        public static void main(String[] args)
                {
                        A.D.E.B.C (这是clazz的引用类型,没什么讲的)     clazz = new     A.D.E().new   B().new   C();
                         //主要是A.D.E().new B().new C();
                         要记住,内部类其实就外部类的一个成员,所以A可以直接调用D(即A.D,为什么这样,因为D是static,就把D看做A类中的一个
                         静态方法,都知道,一个方法如果是静态的,那么可以直接用类名.方法,同理类名.类名)。所以接着是D.E,但是,下面的B、C
                         都是普通的类了,所以后面就是E().new B().new C();
                              或许这样可能看到懂:
                                   A.D.E d=new   A.D.E();
                                   A.D.E.B.C clazz=d.new   B().new   C();//这里可以把d换成 new A.D.E()------>new     A.D.E().new   B().new   C()
                         //
                       clazz.show();
               
        }
}

评分

参与人数 1技术分 +1 收起 理由
田建 + 1

查看全部评分

回复 使用道具 举报
王得新 发表于 2012-9-1 01:18
内部类其实就是外部类的一个成员定义,在类中如同使用其它类一样可以使用自己的内部类
public class A
{

精辟又详细,学习了。
回复 使用道具 举报
public class A {

        static class D {
                static class E {
                        class B {
                                class C {
                                        void show() {

                                        }
                                }
                        }
                }
        }

        public static void main(String[] args) {
                new A.D.E().new B().new C().show();
        }

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马