课时128:方法中定义内部类

简介: 1.方法中定义内部类2.版本不同参数访问的区别3.在 JDK1.8 以前的程序结构

课时128:方法中定义内部类


摘要:

1. 方法中定义内部类

2. 版本不同参数访问的区别

 

01.方法中定义内部类

 

1.1内部类的定义


内部类可以在任意的结构中进行定义,这就包括了:类中、方法中、代码块中,但是从实际的开发来讲,在方法中定义内部类的形式较多。

 

1.2范例:观察在方法中定义的内部类


Class outer {
private String msg = " www .mldn .cn” ;
public void fun(long time) {
class Inner  {  // 内部类
public void print ()  {
System.out.println(Outer.this.msg)  ;
System.out.println(time)  ;
          }
        }
new Inner() . print() ;  // 方法中直接实例化内部类对象
}
}
public class JavaDemo { 
public static void main(string args [] )  {
new outer().fun(2390239023L) ;
}
}

  image.png

 

02.版本不同参数访问的区别

 

2.1 Inner内部类的定义


此时在 Fun () 方法内部提供有 Inner 内部类的定义,并且可以发现内部类可以直接访问外部类中的私有属性,也可以直接访问方法中的参数。


但是对于方法中的参数直接访问,是从 JDK 1.8 开始支持的,而在 JDK 1.8 之前,如果方法中定义的内部类要想访问方法中的参数则参数前必须追加 Final。

 

2.2范例:在 JDK 1.8 以前的程序结构


Class Outer {
private String msg  = "www.mldn.cn"  ;
public void fun(final long time)  {
final String info = "我很好”;
class Inner { // 内部类
public void print ()  {
System.out.println(Outer.this.msg)  ;
System.out.println(time)  ;
System.out.println(info)   ;
         }
       }
       new Inner().print() ;  //方法中直接实例化内部类对象
}
}

image.png

 

2.3总结


之所以取消这样的限制,主要是为了其扩展的函数式编程准备的功能。

相关文章
|
Java Linux 网络安全
Docker 如何上传本地文件到容器目录?
Docker 如何上传本地文件到容器目录?
691 0
|
10月前
|
存储 安全 数据安全/隐私保护
Codota的数据加密技术包括静态数据加密和传输中的数据加密
Codota的数据加密技术包括静态数据加密和传输中的数据加密
149 4
|
存储 监控 数据库连接
数据源管理
数据源管理
235 1
|
10月前
|
存储 NoSQL Redis
Redis 为什么这么快?4 大核心设计图解!
本文详细解析了 Redis 的高性能设计,包括内存存储、单线程模型、IO多路复用技术和数据结构优化,帮助更好地理解和应用 Redis。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Redis 为什么这么快?4 大核心设计图解!
|
移动开发 前端开发
基于jeecg-boot的flowable流程历史记录显示修改
基于jeecg-boot的flowable流程历史记录显示修改
242 0
|
监控 搜索推荐 Java
实战:基于Java的实时数据流处理平台
实战:基于Java的实时数据流处理平台
|
12月前
|
Java 编译器 程序员
Java注解,元注解,自定义注解的使用
本文讲解了Java中注解的概念和作用,包括基本注解的用法(@Override, @Deprecated, @SuppressWarnings, @SafeVarargs, @FunctionalInterface),Java提供的元注解(@Retention, @Target, @Documented, @Inherited),以及如何自定义注解并通过反射获取注解信息。
Java注解,元注解,自定义注解的使用
|
XML Java Android开发
Android Studio App开发中高级控件下拉列表Spinner的讲解及实战(附源码 超详细必看)
Android Studio App开发中高级控件下拉列表Spinner的讲解及实战(附源码 超详细必看)
1475 0
|
存储 人工智能 数据可视化
手把手教学构建证券知识图谱/知识库(含码源):网页获取信息、设计图谱、Cypher查询、Neo4j关系可视化展示
手把手教学构建证券知识图谱/知识库(含码源):网页获取信息、设计图谱、Cypher查询、Neo4j关系可视化展示
手把手教学构建证券知识图谱/知识库(含码源):网页获取信息、设计图谱、Cypher查询、Neo4j关系可视化展示
|
存储 IDE 开发工具
手把手教你做一款HID键盘
手把手教你做一款HID键盘
598 1
手把手教你做一款HID键盘

热门文章

最新文章