【Java】内部类 语法总结

1. 本地内部类 (相对不重要)

定义在方法中的类
在这里插入图片描述
缺点:只能够在本方法中使用

2. 实例内部类

  1. 在实例内部类当中,不能定义一个静态的成员变量!非要定义,只能定义一个静态常量
    在这里插入图片描述
  2. 如何实例化,实例化内部类的对象 ?
    外部类名.内部类名 变量名称=外部类对象的引用.new 内部类();
    在这里插入图片描述
  3. 实例化内部类当中,如果包含了和外部类同名的成员变量,那么如何在实例内部类当中访问?
    实例化内部类当中,包含两个this,一个是外部类的this,一个是自己的this;
    (this表示当前对象的引用)

在这里插入图片描述

2. 静态内部类

  1. 如何实例化 静态内部类对象?
    因为是静态的,所以直接通过类名可以访问,只需要实例化外部类如何直接访问即可 ,如图:
    在这里插入图片描述

  2. 如何访问外部类的普通成员变量
    如图 直接访问访问不了
    在这里插入图片描述
    我们需要先把外部类实例化出来,通过对象引用去访问
    在这里插入图片描述
    或者通过调用构造方法传参也可以访问;
    在这里插入图片描述
    总之,要访问外部类普通成员变量,需要先将外部类实例化(因为其不是static的),通过对象的引用去访问;

3. 匿名内部类

如图,通过匿名对象,可以构造出匿名内部类 ,然后重写外部类的方法
在这里插入图片描述
此时调用test方法,调用的就是内部类中重写的test方法:
在这里插入图片描述

  • over~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值