“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

180 阅读12分钟
原文链接: www.toutiao.com

难度

初级

学习时间

30分钟

适合人群

零基础

开发语言

Java

开发环境

  • JDK v11
  • IntelliJ IDEA v2018.3

提示

本教学属于系列教学,内容具有连贯性,本章使用到的内容之前教学中都有详细讲解。

1.局部内部类

在任何作用域中定义的类都称之为局部内部类。

演示:

局部内部类。

代码:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

没有学习过的同学或者是不太清楚局部内部类的同学也别急,可以点击下面局部内部类学习资料来进行学习。

附:局部内部类学习资料

全栈2019”Java第九十四章:局部内部类详解

全栈2019”Java第九十五章:方法中可以定义静态局部内部类吗?

全栈2019”Java第九十六章:抽象局部内部类详解

全栈2019”Java第九十七章:在方法中访问局部内部类成员详解

全栈2019”Java第九十八章:局部内部类访问作用域成员详解

“全栈2019”Java第九十九章:局部内部类与继承详解

“全栈2019”Java第一百章:局部内部类可以实现接口吗?

“全栈2019”Java第一百零一章:局部内部类覆盖作用域内成员详解

2.在静态代码块中定义局部内部类

静态代码块里面可不可以定义局部内部类呢?来试试看。

演示:

请在静态代码块里面定义一个局部内部类Student。

在静态代码块中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,静态代码块里面可以定义局部内部类。

3.在代码块中定义局部内部类

代码块里面可不可以定义局部内部类呢?来试试看。

演示:

请在代码块里面定义一个局部内部类Student。

在代码块中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,代码块里面可以定义局部内部类。

4.在非静态方法中定义局部内部类

非静态方法里面可不可以定义局部内部类呢?来试试看。

演示:

请在非静态方法里面定义一个局部内部类Student。

在非静态方法中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,非静态方法里面可以定义局部内部类。

5.在静态方法中定义局部内部类

静态方法里面可不可以定义局部内部类呢?来试试看。

演示:

请在静态方法里面定义一个局部内部类Student。

在静态方法中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,静态方法里面可以定义局部内部类。

6.在if语句中定义局部内部类

if语句里面可不可以定义局部内部类呢?来试试看。

演示:

请在if语句里面定义一个局部内部类Student。

在if语句中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,if语句里面可以定义局部内部类。

7.在if-else语句中定义局部内部类

if-else语句里面可不可以定义局部内部类呢?来试试看。

演示:

请在if-else语句里面定义一个局部内部类Student。

在if-else语句中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,if-else语句里面可以定义局部内部类。

8.在switch语句中定义局部内部类

switch语句里面可不可以定义局部内部类呢?来试试看。

演示:

请在switch语句里面定义一个局部内部类Student。

在switch语句中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,switch语句里面可以定义局部内部类。

9.在while语句中定义局部内部类

while语句里面可不可以定义局部内部类呢?来试试看。

演示:

请在while语句里面定义一个局部内部类Student。

在while语句中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,while语句里面可以定义局部内部类。

10.在do-while语句中定义局部内部类

do-while语句里面可不可以定义局部内部类呢?来试试看。

演示:

请在do-while语句里面定义一个局部内部类Student。

在do-while语句中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,do-while语句里面可以定义局部内部类。

11.在for语句中定义局部内部类

for语句里面可不可以定义局部内部类呢?来试试看。

演示:

请在for语句里面定义一个局部内部类Student。

在for语句中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,for语句里面可以定义局部内部类。

12.在foreach语句中定义局部内部类

foreach语句里面可不可以定义局部内部类呢?来试试看。

演示:

请在foreach语句里面定义一个局部内部类Student。

在foreach语句中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,foreach语句里面可以定义局部内部类。

13.在try语句中定义局部内部类

try语句里面可不可以定义局部内部类呢?来试试看。

演示:

请在try语句里面定义一个局部内部类Student。

在try语句中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,try语句里面可以定义局部内部类。

14.在try-catch语句中定义局部内部类

try-catch语句里面可不可以定义局部内部类呢?来试试看。

演示:

请在try-catch语句里面定义一个局部内部类Student。

在try-catch语句中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,try-catch语句里面可以定义局部内部类。

15.在try-catch-finally语句中定义局部内部类

try-catch-finally语句里面可不可以定义局部内部类呢?来试试看。

演示:

请在try-catch-finally语句里面定义一个局部内部类Student。

在try-catch-finally语句中创建局部内部类Student对象。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

结果:

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

从运行结果来看,try-catch-finally语句里面可以定义局部内部类。

总结

  1. 在静态代码块中可以定义局部内部类
  2. 在代码块中可以定义局部内部类
  3. 在非静态方法中可以定义局部内部类
  4. 在静态方法中可以定义局部内部类
  5. 在if语句中可以定义局部内部类
  6. 在if-else语句中可以定义局部内部类
  7. 在switch语句中可以定义局部内部类
  8. 在while语句中可以定义局部内部类
  9. 在do-while语句中可以定义局部内部类
  10. 在for语句中可以定义局部内部类
  11. 在foreach语句中可以定义局部内部类
  12. 在try语句中可以定义局部内部类
  13. 在try-catch语句中可以定义局部内部类
  14. 在try-catch-finally语句中可以定义局部内部类

至此,Java中在任意作用域内定义局部内部类相关内容讲解先告一段落,更多内容请持续关注。

附:类学习资料

全栈2019”Java第三十六章:类

全栈2019”Java第三十七章:类与字段

全栈2019”Java第三十八章:类与方法

全栈2019”Java第三十九章:构造函数、构造方法、构造器

全栈2019”Java第四十章:this关键字

全栈2019”Java第四十一章:static关键字

全栈2019”Java第四十二章:静态代码块与初始化顺序

全栈2019”Java第四十三章:封装

全栈2019”Java第四十四章:继承

全栈2019”Java第四十五章:super关键字

全栈2019”Java第四十六章:继承与字段

全栈2019”Java第四十七章:继承与方法

全栈2019”Java第四十八章:重写方法Override

全栈2019”Java第四十九章:重载与重写对比详解

全栈2019”Java第五十章:继承与构造方法详解

全栈2019”Java第五十一章:继承与final关键字详解

全栈2019”Java第五十二章:继承与初始化详解

全栈2019”Java第五十三章:向上转型和向下转型详解

附:抽象类学习资料

全栈2019”Java第五十四章:多态详解

全栈2019”Java第五十五章:方法的静态绑定与动态绑定

全栈2019”Java第五十六章:多态与字段详解

全栈2019”Java第五十七章:多态与构造方法详解

全栈2019”Java第五十八章:多态中方法返回类型可以是子类类型

全栈2019”Java第五十九章:抽象类与抽象方法详解

附:接口学习资料

全栈2019”Java第六十章:如何定义接口

全栈2019”Java第六十一章:如何实现接口?

全栈2019”Java第六十二章:接口与常量详解

全栈2019”Java第六十三章:接口与抽象方法详解

全栈2019”Java第六十四章:接口与静态方法详解

全栈2019”Java第六十五章:接口与默认方法详解

全栈2019”Java第六十六章:抽象类与接口详细对比

附:内部类学习资料

全栈2019”Java第六十七章:内部类、嵌套类详解

全栈2019”Java第六十八章:外部类访问内部类成员详解

全栈2019”Java第六十九章:内部类访问外部类成员详解

全栈2019”Java第七十章:静态内部类详解

全栈2019”Java第七十一章:外部类访问静态内部类成员详解

全栈2019”Java第七十二章:静态内部类访问外部类成员

全栈2019”Java第七十三章:外部类里多个静态非静态内部类详解

全栈2019”Java第七十四章:内部类与静态内部类相互嵌套

全栈2019”Java第七十五章:内部类持有外部类对象

全栈2019”Java第七十六章:静态、非静态内部类访问权限

全栈2019”Java第七十七章:抽象内部类与抽象静态内部类详解

全栈2019”Java第七十八章:内部类可以继承其他类吗?

全栈2019”Java第七十九章:类中可以嵌套接口吗?

全栈2019”Java第八十章:外部类是否能实现本类中的接口?

全栈2019”Java第八十一章:外部类能否访问嵌套接口里的成员?

全栈2019”Java第八十二章:嵌套接口能否访问外部类中的成员?

全栈2019”Java第八十三章:内部类与接口详解

全栈2019”Java第八十四章:接口中嵌套接口详解

全栈2019”Java第八十五章:实现接口中的嵌套接口

全栈2019”Java第八十六章:嵌套接口可以多继承吗?

全栈2019”Java第八十七章:类中嵌套接口的应用场景(拔高题)

全栈2019”Java第八十八章:接口中嵌套接口的应用场景

全栈2019”Java第八十九章:接口中能定义内部类吗?

全栈2019”Java第九十章:内部类可以向上或向下转型吗?

全栈2019”Java第九十一章:内部类具有多态特性吗?

全栈2019”Java第九十二章:外部类与内部类成员覆盖详解

全栈2019”Java第九十三章:内部类应用场景(迭代器设计模式)

答疑

如果大家有问题或想了解更多前沿技术,请在下方留言或评论,我会为大家解答。

上一章

“全栈2019”Java第一百零一章:局部内部类覆盖作用域内成员详解

下一章

“全栈2019”Java第一百零三章:匿名内部类详解

学习小组

加入同步学习小组,共同交流与进步。

  • 方式一:关注头条号Gorhaf,私信“Java学习小组”。
  • 方式二:关注公众号Gorhaf,回复“Java学习小组”。

全栈工程师学习计划

关注我们,加入“全栈工程师学习计划”。

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?

版权声明

原创不易,未经允许不得转载!