首页 > 应用开发 > Java > Java核心基础知识——Java 中的嵌套类
在 Java 中,可以在另一个类中定义一个类,这样的类称为嵌套类。它们使您能够对仅在一个地方使用的类进行逻辑分组,从而增加封装的使用,并创建更具可读性和可维护性的代码。
嵌套类的范围受其封闭类的范围限制。
嵌套类分为两类:
语法:
静态嵌套类
在普通或常规内部类的情况下,没有外部类对象存在,就不可能有内部类对象。即,内部类的对象总是与外部类对象密切相关。但是在静态嵌套类的情况下,如果不存在外部类对象,则可能存在静态嵌套类对象。即,静态嵌套类的对象与外部类对象没有强关联。
与类方法和变量一样,静态嵌套类与其外部类相关联。和静态类方法一样,静态嵌套类不能直接引用在其封闭类中定义的实例变量或方法:它只能通过对象引用来使用它们。
使用封闭的类名访问它们。
例如,要为静态嵌套类创建对象,请使用以下语法:
输出:
内部类
要实例化内部类,必须先实例化外部类。然后,使用以下语法在外部对象中创建内部对象:
有两种特殊的内部类:
输出:
普通或常规类与静态嵌套类的比较
| 编号 | 普通内部类 | 静态嵌套类 |
|---|---|---|
| 1. | 没有外部类对象存在,就不可能有内部类对象。也就是说,内部类对象始终与外部类对象相关联。 | 如果不存在外部类对象,则可能存在静态嵌套类对象。也就是说,静态嵌套类对象不与外部类对象相关联。 |
| 2. | 在普通/常规内部类中,不能声明静态成员。 | 在静态嵌套类中,可以声明静态成员。 |
| 3. | 由于无法声明 main() 方法,因此无法直接从命令提示符调用常规内部类。 | 由于可以声明 main() 方法,因此可以直接从命令提示符调用静态嵌套类。 |
| 4. | 外部类的静态成员和非静态成员都可以直接访问。 | 只能直接访问外部类的静态成员。 |
一直想整理出一份完美的面试宝典,但是时间上一直腾不开,这套 一千多道面试题宝典,结合今年金三银四各种大厂面试题,以及 GitHub 上 star 数超 30K+ 的文档整理出来的,我上传以后,毫无意外的短短半个小时点赞量就达到了 13k,说实话还是有点不可思议的。
需要完整版的小伙伴,可以一键三连后, 点击这里!
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、SpringBoot、SpringCloud、RabbitMQ、Kafka、Linux等技术栈(485页)
内容涵盖:Java基础、JVM、高并发、多线程、分布式、设计模式、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat、数据库、云计算等
由于篇幅限制,详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
需要完整版的小伙伴,可以一键三连后, 点击这里!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70000428/viewspace-2787570/ ,如需转载,请注明出处,否则将追究法律责任。