黑马程序员技术交流社区

标题: 【已解决】程序求解 [打印本页]

作者: 毛标    时间: 2012-9-1 00:07
标题: 【已解决】程序求解
本帖最后由 毛标 于 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方法啊 求解释
作者: 阳杰    时间: 2012-9-1 00:22
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:18
本帖最后由 王得新 于 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();
               
        }
}

作者: 张飞年    时间: 2012-9-1 04:05
王得新 发表于 2012-9-1 01:18
内部类其实就是外部类的一个成员定义,在类中如同使用其它类一样可以使用自己的内部类
public class A
{

精辟又详细,学习了。

作者: AngieFans85    时间: 2012-9-1 13:47
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();
        }

}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2