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版)第五期:ArrayList与顺序表(下)

    目录 一、用数组实现顺序表 一、用数组实现顺序表 我们提到过,顺序表是基于数组的封装,这次我们以int为例,用数组去实现一个顺序表。 “`java public class MyArrayList { private int[] arr; public MyArrayList(int capacity){//指定初始容量 arr = new int[cap…

    2024 年 12 月 31 日
    10400
  • Bolt.new 30秒做了一个网站,还能自动部署,难道要吊打 Cursor?

    大家好,我是汤师爷~ 这篇聊聊 Bolt.new 和 Cursor 的对比。 Bolt.new 是一款基于 SaaS 的 AI 编码平台。它由 LLM 驱动的智能体作为底层,并结合 WebContainers 技术,让用户可以直接在浏览器中进行编码和运行。其主要优势包括: 支持前后端同时开发; 项目文件夹结构可视化; 环境自托管,自动安装依赖(如 Vite、…

    2025 年 1 月 15 日
    21500
  • 聚焦IOC容器刷新环节postProcessBeanFactory(BeanFactory后置处理)专项

    目录 一、IOC容器的刷新环节快速回顾 二、postProcessBeanFactory源码展示分析 (一)模版方法postProcessBeanFactory (二)AnnotationConfigServletWebServerApplicationContext 调用父类的 postProcessBeanFactory 包扫描 注解类注册 (三)pos…

    2025 年 1 月 19 日
    13400
  • MySQL 安装部署

    概述 本文主要介绍如何在 Linux 中以 RPM 包的方式安装 MySQL 并进行相关的初始化配置,文中方案均已实践验证。 操作系统 CentOS 7.6 数据库版本 MySQL 8.4.3 LTS [!NOTE] 说明 本文主要介绍 RPM 包的安装方式,其他安装方法可查阅官网:MySQL :: MySQL 8.4 Reference Manual ::…

    未分类 2025 年 1 月 13 日
    10800
  • Java Druid 面试题

    Druid连接池在项目中有哪些优势? 性能优越:Druid采用了高效的连接管理机制,可以快速地创建和回收数据库连接,减少了连接的创建和销毁带来的性能开销。 监控与统计:Druid提供了详细的监控信息,包括连接池的状态、SQL执行的统计信息等,这有助于性能调优和问题诊断。 SQL日志记录:Druid内置了SQL执行日志记录功能,可以记录所有SQL语句的执行情况…

    未分类 2025 年 1 月 11 日
    12100

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信