java开发中嵌套类的详解及实例
发布时间 - 2026-01-11 02:25:03 点击率:次java开发中嵌套类的详解

在java语言规范里面,嵌套类(Nested Classes)定义是:
A nested class is any class whose declaration occurs within the body of another class or interface. A top level class is a class that is not a nested class.
说的简单一点,就是定义在类里面的类。一般把定义内部类的外围类成为包装类(enclosing class)或者外部类
嵌套类分类
根据nested class定义的地方,可以分为member nested class,local nested class , anonymous nested class
- member nested class(成员嵌套类) :成员嵌套类 作为 enclosing class 的成员定义的,成员嵌套类有enclosing class属性
- local nested class (局部嵌套类): 局部嵌套类定义在 enclosing class 的方法里面,局部嵌套类有enclosing class 属性和enclosing method 属性
- anonymous nested class(匿名嵌套类):匿名嵌套类没有显示的定义一个类,直接通过new 的方法创建类的实例。一般回调模式情况下使用的比较多
member nested class 可以使用public,private,protected访问控制符,也可以用static,final关键字
local nested class 可以使用final关键字
anonymous nested class 不使用任何关键字和访问控制符
来自Java编程思想:
如果不需要内部类对象与外围类对象之间有联系,那么可以将内部类声明为static。这通常称为嵌套类。要想理解static应用于内部类时的含义,就必须记住,普通的内部类对象隐式地保存了一个引用,指向创建它的外围类对象。然而,当内部类时static的时候,就不是这样了。嵌套类意味着:
要创建嵌套类的对象,并不需要其外围对象。
不能从嵌套类的对象中访问非静态的外围类对象。
嵌套类与普通的内部类还有一个区别。普通内部类的字段与方法,只能放在类的外部层次上,所以普通的内部类不能有static数据和static字段(这就是为什么单例设计模式中,内部类为什么必须是静态的原因了),也不能包含嵌套类,但是嵌套类可以包含所有这些东西!
下面是懒汉式单例模式的代码:
package com.easyliu.staticinnerclass;
/**
* 懒汉式单例
* @author EasyLiu
*
*/
public class Singleton {
private Singleton() {
System.out.println("Singleton-init");
}
/**
*
* @author EasyLiu 嵌套类(静态类)
*
*/
private static class SingletonHolder {
private final static Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return SingletonHolder.INSTANCE;
}
public static void main(String[] args) {
//测试Singleton会初始化几次
Singleton.getInstance();
Singleton.getInstance();
Singleton.getInstance();
Singleton.getInstance();
Singleton.getInstance();
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# java
# 嵌套类
# 嵌套类的详解
# 嵌套类实例
# 详解Java 中的嵌套类与内部类
# 深入理解Java嵌套类和内部类
# java 嵌套类的详解及实例代码
# Java嵌套类和内部类详解
# Java开发岗位面试被问到嵌套类怎么办
# 可以使用
# 访问控制
# 放在
# 不需要
# 是这样
# 就不
# 这就是
# 可以用
# 几次
# 希望能
# 要想
# 能有
# 还有一个
# 应用于
# 谢谢大家
# 比较多
# 回调
# 可以分为
# 象中
# 存了
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
php打包exe后无法访问网络共享_共享权限设置方法【教程】
如何破解联通资金短缺导致的基站建设难题?
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
Laravel如何使用Eloquent进行子查询
如何快速搭建个人网站并优化SEO?
如何确认建站备案号应放置的具体位置?
如何在云指建站中生成FTP站点?
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
lovemo网页版地址 lovemo官网手机登录
网页设计与网站制作内容,怎样注册网站?
Laravel如何使用Service Container和依赖注入?(代码示例)
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
如何用美橙互联一键搭建多站合一网站?
如何在建站宝盒中设置产品搜索功能?
python中快速进行多个字符替换的方法小结
如何用IIS7快速搭建并优化网站站点?
七夕网站制作视频,七夕大促活动怎么报名?
Laravel怎么调用外部API_Laravel Http Client客户端使用
如何用PHP快速搭建CMS系统?
MySQL查询结果复制到新表的方法(更新、插入)
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
如何挑选高效建站主机与优质域名?
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
网站建设整体流程解析,建站其实很容易!
如何获取PHP WAP自助建站系统源码?
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
动图在线制作网站有哪些,滑动动图图集怎么做?
Laravel集合Collection怎么用_Laravel集合常用函数详解
如何快速查询网址的建站时间与历史轨迹?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
Laravel如何处理CORS跨域请求?(配置示例)
微信小程序 wx.uploadFile无法上传解决办法
如何用腾讯建站主机快速创建免费网站?
如何将凡科建站内容保存为本地文件?
如何快速查询网站的真实建站时间?
EditPlus中的正则表达式实战(6)
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
C#如何调用原生C++ COM对象详解

