Java编程思想__内部类

1.对象.new语法

类结构

public class Outer {

    public String oName;

    class Inner {

        public String iName;

        public void display() {
            //dummy
        }
    }
}

声明Inner类实例

如下图,有编译错误

解决编译问题

有两种方法

1)使用{外部类实例}.new语法:

2)将Inner声明成 static 静态内部类。

【原因】

内部非静态类,是依托于外部类实例而存在的;没有外部类实例,不能直接声明内部类实例。

 静态内部类,编译成功是因为,静态内部类是外部类维度的,不会依赖外部类实例。

 

2.获取外部对象引用

前文提到,非静态内部类,依托于外部类实例存在。可以在内部类中,通过 {OuterClassName}.this 使用外部对象的属性。

使用方式如下:

 

posted @ 2018-08-14 11:49  neal_z  阅读(154)  评论(0编辑  收藏  举报