java内部类最全详解

1、成员内部类

内部类与外部类的关系

a.成员内部类的创建需要依赖于外部类对象-(成员方法必须通过对象调用),在没有外部类实例之前无法创建成员内部类对象

b.内部类与外部类相对独立,不是is a 的关系(发动机-汽车)

c.私有属性的互相访问,内部类可以直接访问外部类,而外部类访问内部类需要内部类的对象来访问

d.创建内部类的语法

1.在外部类内部创建内部类对象(Inner inner = new Inner())

2.在外部类外部创建内部类对象,外部类.内部类 inner = new Outter().new Inner();

e.在内部类内部使用隐藏的外部类对象(隐藏的this)

成员内部类:类比成员方法,不能拥有静态域但是可以访问外部类的静态域

2、静态内部类

        定义在外部类的内部,使用static修饰,类比静态方法,静态内部类不需要外部类对象产生就能使用,不能访问外部类的成员域,但能访问静态域

 静态内部类的创建语法:

1.外部类内部:与成员内部类一样

2.外部类外部:StaticInnerClass.Inner inner = new StaticInnerClass.Inner();

3、方法内部类

定义在方法内部:类比局部变量

a.对外部完全隐藏,因此方法内部类不能有任何访问修饰符

b.方法内部类没有访问形参是,这个形参是可以在方法中随意修改的,一旦方法内部类中使用了形参,这个形参必须被声明为final。

4、匿名内部类

a.必须继承一个抽象类或者实现一个接口

b.没有构造方法

 

  • 58
    点赞
  • 366
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值