内部类 Java 韩顺平学java2021 局部内部类、匿名内部类 局部内部类、匿名内部类

分类

定义位置

方法中或代码块

  • 局部内部类、匿名内部类

属性

  • 成员内部类、静态内部类

基本介绍

img

局部内部类

细节

img

匿名内部类

imgimg

成员内部类

img

img

静态内部类

img

理解

区分各个内部类的方式和重点

  • 位置(作用域)(其它一切都以此衍生而来)
  • 定义
  • 访问(使用)
位置(作用域)

方法中或代码块

  • 局部内部类、匿名内部类

代表着

  • 这两个都可以看作是一个局部变量

    • 局部变量意味着只能在定义的方法中使用(即在方法中先定义内部类)
      • 然后局部内部类就是方法定义类后,在创建一个内部类的对象,然后操作一下其中的方法
      • 匿名内部类是因为一般都是一个对象(因为每次都只会生成一次新的类),所以定义时就会有一个引用,然后借着这个引用进行一些内部类中的方法操作

属性

  • 成员内部类、静态内部类

代表着

  • 可以看作一个属性,所以可以定义一个方法生成内部类,可以类似与get()方法
定义

本质都是类,可以进行属性,方法的声明

局部内部类、匿名内部类

  • 在方法中定义所以不可以用public等修饰符

成员内部类、静态内部类

  • 相当于属性所以可以用public等修饰
  • 静态内部类要用static修饰
访问和使用
成员内部类、匿名内部类

因为都相当于局部变量所以

相同点

  • 可以直接访问外部类的属性和方法,即使private修饰

  • 如果内部类定义属性与外部类定义属性同名

    • 就近访问和 外部类.this.属性(访问外部类中同名属性)
  • 外部其它类不能访问内部类中的属性

不同点

  • 匿名内部类常用于接口和子类的一个具体实现,所以常在定义(注意定义形式)时就声明对象引用,且系统自动生成一个类名,但不显示(只会出现一次这个定义)。因为每次定义时都是new的一个新的类
局部内部类和静态内部类

都相当于成员属性

相同

  • 可以添加访问修饰符

  • 如果内部类定义属性与外部类定义属性同名

    • 就近访问和 外部类.this.属性(访问外部类中同名属性)
  • 外部类和外部其他类都可以访问局部内部类

不同

  • 静态内部类多了static所以要满足访问和使用符合static的规则
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值