java 内部类

内部类

在某一个类的内部定义的类叫做内部类。包含内部类的类称为外部类。

  • 在内部类中可以访问外部类的所有的属性和方法
  • 在外部类中,若想访问内部类的属性和方法,必须通过内部类对象来访问
  • 若想在创建别的类中的内部类对象,需要使用外部类对象.new 内部类的构造方法()的形式。
    Outer.Inner inner = new Outer().new Inner();
  • 内部类中不能定义static变量
  • 内部类的权限修饰符,可以是private、default、protected、public,而普通类只能是default和public

静态内部类

 在类的内部定义的static类属于静态内部类

  • 静态内部类只能访问外部类的静态成员
  • 静态内部类可以包含static成员
  • 若想创建别的类中的静态内部类对象,需要使用 new 外部类名.内部类的构造方法()
    Outer.Inner inner = new Outer.Inner();

 匿名内部类

没有名字的内部类属于匿名内部类

  • 匿名内部类不能定义任何静态成员、方法
  • 匿名内部类的方法不能是抽象的
  • 匿名内部类必须实现接口或抽象父类的所有抽象方法
  • 匿名内部类不能定义构造器
  • 匿名内部类访问的外部类成员变量或方法必须用static修饰
  • 匿名内部类介意访问外部类私有变量和方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值