java 内部类的理解

为什么要使用内部类?在《Think in java》中有这样一句话:使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。

java的内部类主要有以下几种情况:

 

    1、静态内部类

    2、匿名内部类

    3、成员内部类

    4、局部内部类

一、简单使用

外部类名.内部类名=外部类对象.new 内部类对象

特点:1、内部类可以无条件的访问外部类的成员变量。

          (当创建一个内部类时,会自动生成一个连接到外部类的连接)

         2、外部类访问内部类只能通过new 内部类对象访问。

         3、内部类生成指向外部类的引用:外部类名.this

 

二、静态内部类

    特点:与其他外部类没什么不同,可以直接new内部类出来,也只能访问外部类的静态成员变量和静态方法。

 

三、匿名内部类

    特点:1、定义一个接口及其方法,在使用时直接new并实现其方法。

              2、在内部类中使用的参数或者成员变量,必须修饰为final

 

四、成员内部类

    外部类名.内部类名=外部类对象.new 内部类对象

    特点:1、成员内部类中不能存在任何static的变量和方法

            2、第二:成员内部类是依附于外围类的,所以只有先创建了外围类才能够创建内部类。

 

五、局部内部类

    特点:定义在方法体内的类,只能在该方法内部使用。

 

 

具体参考:https://www.cnblogs.com/chenssy/p/3388487.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值