【JavaSE】内部类介绍与总结
创始人
2024-04-10 01:28:48
0

文章目录

  • 内部类的概念
  • 静态内部类
  • 实例内部类
  • 局部内部类
  • 匿名内部类

内部类的概念

什么是内部类呢?在一个类里面定义了另一个类,我们就把前者称为外部类,后者称为内部类
在这里插入图片描述

静态内部类

内部类也是有分类的,我们先来看看静态的内部类,使用static修饰的内部类我们称为静态内部类。我们可以通过外部类类名.内部类类名 ()= new 外部类类名.内部类类名()实例化静态内部类对象。
在这里插入图片描述
在静态内部类里,不可以直接访问外部类的非静态成员,实例化后可以通过外部类类名.成员在内部类中使用。
在这里插入图片描述
外部类中,可以访问静态内部类中所有的成员。
在这里插入图片描述

实例内部类

没有用static修饰的内部类,我们称为实例内部类,他的使用规则又是怎样的呢?
在这里插入图片描述
因为当外部类加载的时候,实例内部类不会加载,所以不可有static修饰的变量,那为什么pulbic static final没有报错呢?因为final修饰的变量可以看作常量,而实例内部类当中允许常量的存在。那实例内部类如何实例化对象呢?我们需要先实例化外部类,在通过外部类实例化内部类
在这里插入图片描述
这样比较麻烦,所以我们经常使用静态内部类。

局部内部类

定义在外部类的方法中的类,叫做局部内部类
在这里插入图片描述

1、局部内部类只能在定义他的方法体内使用
2、不可以被public、static等修饰符修饰

这样的使用方法很鸡肋,我们在实际的开发中很少使用,这里简单介绍一下就可以了。

匿名内部类

在这里插入图片描述
我们仅仅new ClassTest()并没有指定对象是谁,这样的我们就称为匿名内部类。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...