问答详情
源自:7-5 什么是 Java 中的内部类

创建内部类对象为什么要先创建外部类对象

第18行:Inner i= hello.new Inner();  不太懂
1,创建内部类对象为什么要使用外部类对象?
2,如果有多个外部类对象,那创建内部类对象的时候是不是随便用一个外部类对象就可以了?


提问者:qq_慕无忌2004348 2019-02-19 20:29

个回答

  • Ocelot
    2019-08-18 20:18:46

    内部类可以随意访问外部类的所有属性和方法,外部类不可以直接访问内部类的属性和方法,这是规定

  • 从未停下的咕噜咕噜
    2019-06-27 08:43:44

    静态方法无法访问非静态方法,给内部类加一个static就OK了

  • 抓住一只蝉
    2019-05-08 11:43:49

    //外部类HelloWorld

    public class HelloWorld {

        

        // 内部类Inner,类Inner在类HelloWorld的内部

        public static class Inner {

            

    // 内部类的方法

    public void show() {

    System.out.println("welcome to imooc!");

    }

    }

        

    public static void main(String[] args) {

            

            // 创建内部类对象

    Inner i = new Inner();

            // 调用内部类对象的方法

    i.show();

    }

    }


  • 慕标5588573
    2019-02-22 17:36:39

    静态方法无法访问非静态成员变量(你可以吧Inner()看成一个成员变量)

  • qq_慕数据8234616
    2019-02-19 21:10:32

    1. 内部类中静态内部类不需要使用外部类对象就可以直接创建。你给出的例子应该是成员内部类的创建。我个人把成员内部类理解为一个特殊的成员变量,你要使用成员内部类时就需要 对象.(成员内部类)。

    2. 不随便啊,建议你看下成员内部类那一节课程