JAVA内部类

如果在一个类中再定义一个类,就将在类中再定义的那个类称为内部类,内部类分为成员内部类,局部内部类以及匿名内部类。

如果在外部类和非静态方法之外实例化内部类对象,需要使用 外部类.内部类 的形式指定该对象的类型

成员内部类
在类中如果内部类与外部类遇到成员变量重名的情况可以使用this关键字进行处理。 内部类中使用this.x语句可以调用内部类的成员变量x,而使用外部类名.this.x语句可以调用外部类的成员变量x。

局部内部类
局部内部类是指在类的方法中定义的内部类,它的作用范围也是在这个方法体内。但是该内部类可以访问 当前代码块的常量以及此外部类的所有成员。

匿名内部类
不一定要给内部类取一个名字,可以直接以对象名来代替。匿名内部类的所有实现代码都需要在大括号之间进行编写。由于匿名内部类没有名称,所以匿名内部类使用默认构造方法来生成 匿名内部类的对象。在匿名内部类定义结束后,需要加分号标识,这个分号并不代表定义内部类结束的标识,而代表创建匿名内部类的引用表达式的标识。

静态内部类
在内部类前添加修饰符static,这个内部类就变为静态内部类。一个静态内部类中可以声明static成员,但是在非静态内部类中不可以声明静态成员。静态内部类有一个最大的特点,就是不可以使用外部类的非静态成员,所以静态内部类在程序开发中比较少见。
创建静态内部类的对象,不需要其外部类的对象
不能从静态内部类的对象中访问非静态外部类的对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值