Java笔记(一)内部类

这是关于我对内部类理解的笔记,可能写的不怎么好,所以虚心接受大佬的指导

内部类(Nested Class)

  1. 定义在一个类中的另一个类被叫做内部类(Inner Class),
  2. 内部类有四种类型成员内部类、静态内部类、局部内部类、匿名内部类
  3. 成员内部类、局部内部类、匿名内部类中

成员内部类

```java
// inner class
public class Main {
    public static void main(String[] args) {
        Outer outer = new Outer("Nested"); // 实例化一个Outer
        Outer.Inner inner = outer.new Inner(); // 实例化一个Inner
        inner.hello();
    }
}
class Outer {
    private String name;
    Outer(String name) {
        this.name = name;
    }
    class Inner {
        void hello() {
            System.out.println("Hello, " + Outer.this.name);
        }
    }
}
```
  1. 直接定义在类里面的是成员内部类,定义在类中,作用域也在类中,可以直接访问外部类的所有成员,包括私有的,

静态内部类

  1. 如果用static修饰的就是静态内部类。只能访问外部类的静态成员包括私有的

局部内部类

  1. 局部内部类定义在外部类的方法体或代码块中,作用域在这个代码块或方法体中。成员内部类可以直接访问外部类的所有成员包括私有的。只可以使用final修饰

匿名内部类

  1. 该类没有类名的话就是匿名内部类,定义在外部类的方法或代码块中,匿名内部类相当于创建了一个接口或类的对象,在对象中直接重写方法,如果这个匿名内部类声明了具体的对象名的,则可以复用这个对象,但是这个匿名内部类只能使用一次

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/5455.html

(0)
LomuLomu
上一篇 2025 年 1 月 6 日 下午8:50
下一篇 2025 年 1 月 7 日

相关推荐

  • Java MyBatis 面试题

    谈谈MyBatis的启动过程? 加载配置文件: MyBatis的配置文件是一个XML文件,包含了数据库连接信息、映射文件的位置等配置信息。在启动过程中,MyBatis会读取并解析这个配置文件。 创建SqlSessionFactory对象: SqlSessionFactory是MyBatis的核心对象,用于创建SqlSession对象。在启动过程中,MyBat…

    未分类 2025 年 1 月 15 日
    28300
  • o3 发布了,摔碎了码农的饭碗

    大家好,我是汤师爷~ 在 2024 年底,OpenAI 发布了最新推理模型 o3。o3模型相当炸裂,在世界级编程比赛中拿下第 175 名,打败 99.9% 的参赛者。AI 写代码都赶上顶级程序员了,程序员是不是要失业? 最近不少读者反馈,像 GitHub Copilot、Claude Sonnet 3.5、Cursor 等 AI 辅助编程工具,能让代码编写效…

    2025 年 1 月 14 日
    34400
  • Java中的网络基础认知(如果想知道Java中有关网络基础的知识,那么只看这一篇就足够了!)

    前言:网络基础是现代通信和信息技术的基石,涉及数据传输、网络协议、路由、交换、网络设备以及网络安全等多个方面,深入了解网络基础,不仅能提升技术能力,还能为更复杂的网络架构与应用打下坚实的基础。 ✨✨✨ 这里是秋刀鱼不做梦的BLOG 目录 网络发展史简介 独立模式与网络互连 局域网(LAN) 广域网(WAN) 网络通信基础 —— IP和端口号 IP地址 端口号…

    2024 年 12 月 28 日
    31200
  • 【2024最新版】Java JDK安装配置全攻略:图文详解

    目录 1. 引言 2. 准备工作 2.1 确定操作系统 2.2 检查系统要求 2.3 下载JDK安装包 3. 安装步骤(以Windows系统为例) 4. 配置环境变量 4.1 jdk配置验证 4.2 配置JAVA_HOME环境变量 4.3 配置Path环境变量 4.4 验证jdk是否配置成功 5. 结语 1. 引言 随着技术的不断发展和更新,Java作为世界…

    2024 年 12 月 28 日
    35600
  • 深入浅出:Java 抽象类与接口

    前言 Java 是一种面向对象的编程语言,其中 抽象类 和 接口 是实现多态和设计模式中的重要工具。它们在编程中具有重要的地位,能够有效提高代码的灵活性和可维护性。尽管它们有一些相似之处,但在语法和应用场景上存在许多不同点。本博客将深入探讨 抽象类 和 接口。 一、什么是抽象类(Abstract Class)? 1. 抽象类的定义 抽象类是一个不能被实例化的…

    未分类 2025 年 1 月 12 日
    39100

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信