广告
返回顶部
首页 > 资讯 > 精选 >java开发中嵌套类的详解及实例
  • 287
分享到

java开发中嵌套类的详解及实例

java嵌套类ava 2023-05-31 10:05:18 287人浏览 独家记忆
摘要

 java开发中嵌套类的详解在java语言规范里面,嵌套类(Nested Classes)定义是:A nested class is any class whose declaration occurs within the bo

 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

  1. member nested class(成员嵌套类) :成员嵌套类 作为 enclosing class 的成员定义的,成员嵌套类有enclosing class属性
  2. local nested class (局部嵌套类): 局部嵌套类定义在 enclosing class 的方法里面,局部嵌套类有enclosing class 属性和enclosing method 属性
  3. 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;   public class Singleton {   private Singleton() {     System.out.println("Singleton-init");   }       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();   } } 

--结束END--

本文标题: java开发中嵌套类的详解及实例

本文链接: https://www.lsjlt.com/news/224734.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java开发中嵌套类的详解及实例
     java开发中嵌套类的详解在java语言规范里面,嵌套类(Nested Classes)定义是:A nested class is any class whose declaration occurs within the bo...
    99+
    2023-05-31
    java 嵌套类 ava
  • 详解Java 中的嵌套类与内部类
    详解Java 中的嵌套类与内部类在Java中,可以在一个类内部定义另一个类,这种类称为嵌套类(nested class)。嵌套类有两种类型:静态嵌套类和非静态嵌套类。静态嵌套类较少使用,非静态嵌套类使用较多,也就是常说的内部类。其中内部类又...
    99+
    2023-05-31
    java 嵌套类 内部类
  • Android 开发中Volley详解及实例
    Android 开发中Volley详解及实例 最近在做项目的时候,各种get和post。简直要疯了,我这种啥都不了解的,不知道咋办了,然后百度看了下,可以用volley进行网络...
    99+
    2022-06-06
    volley Android
  • vue前端开发层次嵌套组件的通信详解
    目录前言示例小结前言 vue父子组件之间通过props很容易的将父组件的值传递给子组件,如果一个组件嵌套很多层,每一层之间度需要同props进行传值,很麻烦,且不易维护 示例 【示例...
    99+
    2022-11-12
  • Blazor实现组件嵌套传递值的示例详解
    实现创建一个Blazor Server空的应用程序 创建一个Tab.razor 并且添加以下代码 <div> @Title </div> ...
    99+
    2023-02-07
    Blazor组件嵌套传递值 Blazor嵌套传值 Blazor传值
  • java  StringBuilder类的详解及简单实例
     java  StringBuilder类的详解及简单实例实现代码:public class StringBuilderTest { public static void main(String[] args...
    99+
    2023-05-31
    java stringbuilder bs
  • Kotlin 的注解类详解及实例
    Kotlin 的注解类详解及实例注解声明注解是将元数据附加到代码的方法。要声明注解,请将 annotation 修饰符放在类的前面:annotation class Fancy...
    99+
    2023-05-31
    kotlin 注解类
  • Java 基础之内部类详解及实例
     Java 基础之内部类详解及实例内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液、跳动)显然,...
    99+
    2023-05-31
    java 内部类 ava
  • 实例详解Java库中的LocalDate类
    目录Java库中的LocalDate类Java获取上周指定日的日期总结Java库中的LocalDate类 类库设计者决定将保存时间与给时间点命名分开。所以标准Java类库分别包含了两...
    99+
    2022-11-13
  • Java中避免写嵌套if样式的代码详解
    前言Optional的代码相对更加简洁,当代码量较大时,我们很容易忘记进行null判定,但是使用Optional类则会避免这类问题。下面这是一个嵌套的 if 判断,业务逻辑是从 httpRequst 中获取 X-Auth-Token 的值。...
    99+
    2023-05-31
    java if嵌套 ava
  • java开发ShardingSphere的路由引擎类型示例详解
    目录ShardingSphere的路由引擎类型路由引擎类型标准路由路由逻辑总结ShardingSphere的路由引擎类型 本篇文章源码基于4.0.1版本 上篇文章我们了解到了Shar...
    99+
    2022-11-13
    java ShardingSphere路由引擎 java ShardingSphere
  • JAVA 开发之用静态方法返回类名的实例详解
    JAVA 开发之用静态方法返回类名的实例详解前言:最初碰到这个问题,首先想到的是getClass()方法,如下尝试:public static String getClassName(){ String className=null; cl...
    99+
    2023-05-31
    java 静态 类名
  • Java中类赋值的解释实例详解
    Java中类赋值的解释实例详解Java是面向对象的存储语言,进行的是信息的传递,也就是类的赋值,实际上他们占用的是同样的存储空间;下面上一个自己写的例子:感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!...
    99+
    2023-05-31
    java 类赋值 中类
  • Java异常类型以及处理实例详解
    目录一、异常的描述二、异常的体系三、异常的分类:四、异常处理的捕捉形式五、异常处理的原则六、finally七、异常的应用八、异常的注意事项:总结一、异常的描述 程序运行时,发生的不被...
    99+
    2022-11-12
  • Java中Properties类的操作实例详解
    Java中Properties类的操作实例详解知识学而不用,就等于没用,到真正用到的时候还得重新再学。最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用Java来写...
    99+
    2023-05-31
    java properties
  • java 内部类的实例详解
    java 内部类的实例详解可以将一个类的定义放在另一个类的定义内部,这就是内部类。内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二)。第一次见面内部类我们从外面看是非常容易理解的,...
    99+
    2023-05-31
    java 内部类 ava
  • Android App中的多个LinearLayout嵌套布局实例解析
    在做android  UI布局时,用了LinearLayout嵌套,发现效果并不如我预料一般 查了下资料,说是要设置layout_weight属性 资料说得不是很清楚...
    99+
    2022-06-06
    布局 app Android
  • java 泛型的详解及实例
    java 泛型的详解及实例Java在1.5版本中增加了泛型,在没有泛型之前,从集合中读取每一个对象都需要进行强转,如果一不小心插入了类型错误的对象,在运行时就会报错,给日常开发带来了很多不必要的麻烦,比如以下代码:public class ...
    99+
    2023-05-31
    java 泛型 ava
  • Android Kotlin开发实例(Hello World!)及语法详解
    Android Kotlin开发实例及语法详解前言Kotlin是一种在 Java虚拟机上执行的静态型别编程语言,它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言。该语言有几个优势 简洁 它大大减少你需要写的样板代码...
    99+
    2023-05-31
    android kotlin roi
  • Android开发之splash界面下详解及实例
    现在刚下载的很多APP应用第一次打开都会在进入主界面之前有导航页,用来展示公司logo,或者推广自身这款APP。先上效果图: 首先解释一下:支持进入首页只能往右滑动...
    99+
    2022-06-06
    android开发 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作