Java内部类

一.局部内部类

定义在方法内部,使用较少

二.实例内部类

定义在类内部方法外部

注意事项及应用:

1.在实例内部类中可直接调用外部类的成员属性及方法

2.实例内部类的实例化依赖于外部类对象,因此先有内部类才有外部类。在实例化时,需先对外部类进行实例化产生对象然后以

OuterClass.Innerclass innerClass = 外部类对象.new InnerClass();

对内部类进行实例化

3.在实例内部类中直接调用外部类与部类重名的方法属性时,优先调用内部类自己的

4.若想在内部类中调用重名外部类的方法属性,需在内部类中实例化外部类对象通过对象的引用调用。

5.在外部类及其它类中不能直接访问内部类成员,必需通过实例化内部类对象访问。 

三.静态内部类

定义在类中方法外部的被static修饰的类

1.静态内部类不依赖于外部类对象,在实例化时不需先创建外部类对象采用以下方法

OuterClass.InnerClass innerclass = new OuterClass.IneerClas();

2.静态内部类中不能直接外部类中的非静态成员,可以在内部类中实例化外部类对象进行访问。可以直接访问静态成员。

四.匿名内部类

匿名内部类在方法中使用可以认为是一个类实现了一个接口并重写了接口中的方法。

定义方法:

new 接口(){

方法 重写

}

也可以通过接口数据类型进行接收

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值