内部类

一、内部类作用:便于访问外部类的私有信息 

二、内部类分类

1、成员内部类

1)可以访问外部类的一切内容

2)不能声明 静态属性、静态方法

3)如果外部类和内部类有重名的成员内容,访问需要用:类名.this.

4)如果外部类和内部类有重名的静态内容,访问需用:类名.
5)创建成员内部类

        外部类名.内部类名 名字 = new 外部类名().new 内部类()

 

2、静态内部类

1)只能访问外部类的静态信息

2)可以声明一切

3)如果外部类与内部类有重名的静态内容

6)创建静态内部类对象

        外部类名.内部类名 名字 = new 外部类名.new 内部类名()

 

3、方法内部类

 如下图所示

 注意:

1)方法内部类是局部的,没有静态的,没有public等修饰符

2)方法局部变量、形参不能访问,只能访问 final修饰的最终变量

 

4、方法内部的匿名内部类

方法的内部类 ,如果仅使用一次 ,省略类名,创建时借助父类或者接口。

例1:使用父类(Object)创建匿名类

例2:使用接口普创建匿名类

 
 

内部类就是在一个类的内部定义的类,内部类中不能定义静态成员.

 

在方法体外面定义的内部类的访问类型可以是public,protecte,默认的,private等4种类型,这就好像

 

类中定义的成员变量有4种访问类型一样,它们决定这个内部类的定义对其他类是否可见;  对于这种

 

情况,我们也可以在外面创建内部类的实例对象,创建内部类的实例对象时,一定要先创建外部类的实

 

例对象,然后用这个外部类的实例对象去创建内部类的实例对象,代码如下:

  Outer outer = new Outer();

  Outer.Inner1 inner1 = outer.new Innner1();

 

内部类与外部类有重名的成员,在内部类中用  外部类名字.this.属性名字  访问外部类的属性

 

Static Nested Class,它不再具有内部类的特性,Static Nested Class,它不再具有内部类的特性。只能访问外部类的静态属性

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值