内部类与匿名内部类

内部类:定义在类中的类,称为内部类。

好处是可以直接访问到外部类中的成员。

外部类要访问内部类则必须创建内部类对象,通过内部类对象调用。

 

内部类直接访问外部类的原理:因为内部类持有了外部类的引用。外部类名.this,还是对象调用。

 

如果把内部类定义在成员位置上,它就可以被成员修饰符所修饰。

内部类的访问方式:

 

public

外部类名.内部类名  in = new 外部类名().new 内部类名();

然后再通过in.函数名访问。

 

private

不能直接访问,只能通过方法封装的方式访问。

 

static 

内部类静态,访问非静态方法

外部类名.内部类名 in = new 外部类名.内部类名();

 

内部类静态,访问静态方法

外部类名.内部类名.静态方法名();

 

非静态内部类中只能定义静态常量,其他静态修饰的成员都不允许。

 

posted @ 2018-01-09 17:50  小菜鸟321  阅读(115)  评论(0编辑  收藏  举报