Java 内部静态类_静态内部类特点

Java 内部静态类_静态内部类特点Java中的内部类是在Jdk1.1版本之后增加的,内部类是Java语言中一个比较重要的概念,如果能把内部类运用好,那么会明显增强Java程序的灵活性。要想清楚static内部类和非static内部类的区别,首先要了解内部类的概念及特点,然后再进行一个全面的对比。什么是内部类呢?简单的说就是在一个类的内部又定义了一个类,这个类就称之为内部类(InnerClass)。看一个简单的例子:内…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Java中的内部类是在Jdk1.1版本之后增加的,内部类是Java语言中一个比较重要的概念,如果能把内部类运用好,那么会明显增强Java程序的灵活性。

要想清楚static内部类和非static内部类的区别,首先要了解内部类的概念及特点,然后再进行一个全面的对比。

什么是内部类呢?简单的说就是在一个类的内部又定义了一个类,这个类就称之为内部类(Inner Class)。看一个简单的例子:Java 内部静态类_静态内部类特点

内部类有以下几个主要的特点:

第一,内部类可以访问其所在类的属性(包括所在类的私有属性),内部类创建自身对象需要先创建其所在类的对象,看一个例子:Java 内部静态类_静态内部类特点

第二,可以定义内部接口,且可以定义另外一个内部类实现这个内部接口,看一个例子:Java 内部静态类_静态内部类特点

第三,可以在方法体内定义一个内部类,方法体内的内部类可以完成一个基于虚方法形式的回调操作,看一个例子:Java 内部静态类_静态内部类特点

第四,内部类不能定义static元素,看一个例子:Java 内部静态类_静态内部类特点

第五,内部类可以多嵌套,看一个例子:Java 内部静态类_静态内部类特点

static内部类是内部类中一个比较特殊的情况,Java文档中是这样描述static内部类的:一旦内部类使用static修饰,那么此时这个内部类就升级为顶级类。

也就是说,除了写在一个类的内部以外,static内部类具备所有外部类的特性,看一个例子:Java 内部静态类_静态内部类特点

通过这个例子我们发现,static内部类不仅可以在内部定义static元素,而且在构建对象的时候也可以一次完成。从某种意义上说,static内部类已经不算是严格意义上的内部类了。

与static内部类不同,内部接口自动具备静态属性,也就是说,普通类是可以直接实现内部接口的,看一个例子:

Java 内部静态类_静态内部类特点

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183066.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c++中无法打开源文件_无法打开源文件iostream

    c++中无法打开源文件_无法打开源文件iostream一、无法打开文件“xxx.lib”出现这种错误一般为①未添加xxx.lib库文件②库添加后,路径不对,找不到对应的库文件路径解决方案:先查看库文件是否已经添加若未添加,右击项目->属性->链接器->输入;将库文件加入即可如果库文件已经添加,仍然报错,此时需要查看生成的库文件的路径了。先找到生成库文件的路径,右击项目->属性->常规->查看输出目录是否与生成的库文件的路径是否匹配,若不匹配,修改路径即可。二、无法打开源文件说明是库的附加包含路径有问题

    2022年10月14日
  • 联想g510键盘如何拆装视频_联想g5080键盘怎么拆

    联想g510键盘如何拆装视频_联想g5080键盘怎么拆导致笔记本键盘失灵的原因有很多种,有时候是因为电脑系统的原因,但是大部分还是因为键盘本身的问题,如果是键盘本身的问题导致的笔记本键盘失灵,那么最多的解决方法就是拆卸该笔记本的键盘,然后分析问题的所在。下面小编就为大家介绍一下的方法吧,欢迎大家参考和学习。首先观察一下键盘正面,键盘靠一个弧形的卡口卡在掌托上的。如图:键盘左手面在桌上找一块大空地,周围不要放水或者…当键盘坏了,这时就需要更换了,笔…

    2022年9月16日
  • IntelliJ IDEA 2021.5激活码【注册码】「建议收藏」

    IntelliJ IDEA 2021.5激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
  • setScale,preScale 和 postScale 的区别

    setScale,preScale 和 postScale 的区别setScale,preScale和postScale的区别上面讲到,Matrix由3*3矩阵中9个值来决定。而我们对Matrix的所有设置,也是对这9个值的各种不同的改变,来达到我们想要的效果。下面是Matrix3*3的矩阵结构{MSCALE_X,MSKEW_X,MTRANS_X,MSKEW_Y,MSCALE_Y,MTRANS_Y,MPERSP_0,MPERSP_1,MPERSP_2}一、首先介绍Scale缩放的控制scale就是缩放,我们调用Matrix的setScale、preSc

    2022年10月20日
  • 将JSON数组转化为List集合[通俗易懂]

    将JSON数组转化为List集合[通俗易懂]假如我们向redis中存放了一个JSON数组,从中获取的时候需要将JSON数组转化为List集合,然后将List对象返回给前端。1.引入hutool和fastjson依赖<!–hutool–><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId&gt

    2022年6月29日
  • Redis Cluster集群收缩主从节点详细教程

    Redis Cluster集群收缩主从节点详细教程RedisCluster集群收缩主从节点文章目录RedisCluster集群收缩主从节点1.Cluster集群收缩概念2.将6390主节点从集群中收缩2.1.计算需要分给每一个节点的槽位数2.2.分配1365个槽位给192.168.81.210的6380节点2.3.分配1365个槽位给192.168.81.220的6380节点2.4.分配1365个槽位给192.168.81.230的6380节点2.5.查看当前集群槽位分配3.验证数据迁移过程是否导致数据异常4.将下线的主节点从集群中删除4.1.删除节

    2022年10月29日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号