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

来源:7-5 什么是 Java 中的内部类

qq_慕无忌2004348

2019-02-19 20:29

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


写回答 关注

5回答

  • 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();

    }

    }


    qq_慕沐4... 回复抓住一只蝉

    为什么静态类就能直接调用? 那如果外部类我也加个static也可以吗?

    2019-07-13 16:37:20

    共 2 条回复 >

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

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

  • qq_慕数据8234616
    2019-02-19 21:10:32
    1. 内部类中静态内部类不需要使用外部类对象就可以直接创建。你给出的例子应该是成员内部类的创建。我个人把成员内部类理解为一个特殊的成员变量,你要使用成员内部类时就需要 对象.(成员内部类)。

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

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530642 学习 · 6091 问题

查看课程

相似问题