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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux tar命令打包整个文件夹详解,Linux tar打包命令详解

    linux tar命令打包整个文件夹详解,Linux tar打包命令详解Linux系统中,最常用的归档(打包)命令就是tar,该命令可以将许多文件一起保存到一个单独的磁带或磁盘中进行归档。不仅如此,该命令还可以从归档文件中还原所需文件,也就是打包的反过程,称为解打包。使用tar命令归档的包通常称为tar包(tar包文件都是以“.tar”结尾的)。tar命令做打包操作当tar命令用于打包操作时,该命令的基本格式为:[root@localhost~]#…

    2022年5月31日
    55
  • curl命令详解[通俗易懂]

    在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。语法:#curl[option][url]常见参数:-A/–user-agent<string>…

    2022年4月8日
    65
  • Java8 Stream 数据流,大数据量下的性能效率怎么样?

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:Al_assad blog.csdn.net/Al_assad/article/details/8235660…

    2021年6月28日
    96
  • sql学生选课管理系统[通俗易懂]

    sql学生选课管理系统[通俗易懂]一、概要设计1.1目的和意义学生选课系统作为一种现代化的教学技术,被广泛应用于学校的学生选课,是一个学校不可或缺的部分,学生选课系统使管理选课信息更加简单,学生选课更加方便。学生选课系统的将使选课管理工作规范化、系统化、程序化,避免选课管理的无条理性,提高信息处理的速度和准确性,能够准确、及时、有效的查询和修改学生选课情况。与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了极大的便捷。学生在公共机房,或者宿舍的个人电脑上便可以通过校园网络来选课。在选课时间内,学生能够使用选课系统灵活的修

    2022年10月9日
    2
  • ajax返回JSON时的处理方式

    ajax返回JSON时的处理方式

    2021年11月4日
    40
  • rpc接口怎么写_rpcbind服务端口

    rpc接口怎么写_rpcbind服务端口编写更安全的RPC接口前言在一般的RPC应用当中,作为开发人员一般分为了三种,第一种就是提供RPC服务的开发人员,第二种就是客户端使用RPC服务的开发人员,以及最重要的设计RPC接口和规范RPC接口的开发人员,前面的案例当中我们将三种角色融在了一起,虽然看起来非常的方便,但是非常的不利于后期的维护以及二次开发RPC接口规范如果要冲高HelloService服务,第一步需要明确服务的名字以及接口(HelloService服务在上两篇博客)constHelloServiceName=”path/to

    2022年10月13日
    2

发表回复

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

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