Java在外界如何调用局部内部类

Python011

Java在外界如何调用局部内部类,第1张

部类和成员变量一样,通过外部类的实例调用内部类。

可以先创建外部类实例。

用外部类实例调用内部类构造方法创建内部类实例。

再用这个内部类实例调用内部类成员方法。

  A a=new A()

  A.B b=a.new B()

  b.do1()//do是关键字,所以这里在do后面加了个1,否则无法编译。

是可以的,付代码说明:

package com.demo

public class Main {

    public static void main(String[] args) {

        // 非静态内部类实例对象无法独立存在, 必须依赖于一个外部类的实例对象

        // 所以必须先实例化一个外部类对象

        Demo demo = new Demo()

        // 因为 非静态内部类 也是类的 非静态成员, 所以可以用 对象. 来访问

        // 下面用 外部类对象.内部类构造器 来创建内部类对象

        Demo.InnerDemo innerDemo = demo.new InnerDemo()

        innerDemo.show()

    }

}

/**

 * 一个外部类

 */

class Demo {

    /**

     * 内部类, 这里的内部类是非静态的。

     *

     * 实例化静态内部类很简单, 直接 类名.内部类名, 这里不多说。

     */

    public class InnerDemo {

        /**

         * 内部类的一个方法

         */

        public void show() {

            System.out.println("这是一个内部类的方法")

        }

    }

}