博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
成员内部类 局部内部类 匿名内部类
阅读量:5291 次
发布时间:2019-06-14

本文共 917 字,大约阅读时间需要 3 分钟。

内部类有:

  1. 成员内部类

  2. 局部内部类(匿名内部类)

============================================

成员内部类

定义在成员位置的类

内用外,随意访问 ; 外用内,需要内部类对象

如何使用成员内部类

1. 间接方式: 通过外部类对象调用外部类方法,里面间接使用内部类

2. 直接方式: 

外类名.内类名  对象名  =  new  外类名().new  内类名(); :

内部类重名变量的访问

内部类的局部变量: 就近原则

内部类的成员变量: this.变量名

外部类的成员变量: 外类名.this.变量名

===========================================

局部内部类

一个类定义在一个方法的内部

"局部" : 只有在当前所属的方法可以使用它,出了方法就不能用了

局部内部类,如果访问所在方法的局部变量,那么这个局部变量必须是"有效final的"

注: 从Java 8 开始,只要局部变量事实不变,那么final关键字可以省略

===========================================

 匿名内部类

如果接口的实现类(或者父类的子类)只需要用一次,那么这种情况下就可以省略掉该类的定义,而改为使用"匿名内部类"

格式 :

  接口名  对象名  =  new  接口名() {

    //覆盖重写所有抽象方法

  };

解析 :

1.new 代表创建对象的动作

2.接口名称就是匿名内部类需要实现哪个接口

3.{ ... } 是匿名内部类的内容

注意 :

1.匿名内部类在创建对象时,只能使用唯一一次

2.注意匿名内部类和匿名对象的区别

匿名内部类省略的是 实现类/子类名称 , 匿名对象省略的是 对象名称

===========================================

类的权限修饰符

1. 外部类: public default

2. 成员内部类: 都可以

3. 局部内部类: 什么都不能写

转载于:https://www.cnblogs.com/bushishucai/p/9535755.html

你可能感兴趣的文章
P2095 营养膳食
查看>>
#589. 图图的游戏
查看>>
P1353 [USACO08JAN]跑步Running
查看>>
#587. 天天和不可描述
查看>>
P3111 [USACO14DEC]牛慢跑Cow Jog_Sliver
查看>>
#10. 三角形的个数
查看>>
P1007 独木桥
查看>>
#592. 投放点的选择
查看>>
#532. 排名
查看>>
P1372 又是毕业季I
查看>>
P1403 [AHOI2005]约数研究
查看>>
#594. 连线交叉
查看>>
P1495 曹冲养猪
查看>>
P1104 生日
查看>>
P2735 电网 Electric Fences
查看>>
重置select2下拉框方法
查看>>
redis面试题
查看>>
composer 执行内存超出问题解决
查看>>
Ubuntu 下安装phantomjs
查看>>
Windows环境下npm install 报错: operation not permitted, rename的解决方法
查看>>