Java Character
Java Character 类在 Java 中,Character 类是 java.lang 包的一部分,它是基本数据类型 char 的包装类。Character 类提供了一系列实用方法,用于操作、判断和转换字符。今天我们就来系统学习这个类!🚀 1️⃣ 基本概述 char 是基本数据类型,表示一个 16 位的 Unicode 字符(如 'A'、'中'、'9' 等)。 Character 是包装类,用于将 char 封装为一个对象,并提供丰富的方法操作字符。 声明示例: 123char ch = 'A'; // 基本类型Character character = 'A'; // 自动装箱为 Character 对象Character character2 = new Character('B'); // 显式创建对象(已过时,不推荐) 2️⃣ 常用方法🔹...
Java 抽象类
Java 抽象类详细教学1. 什么是抽象类?抽象类(Abstract Class)是 Java 面向对象编程中的一种特殊类,它不能被实例化,只能被继承。抽象类的主要作用是作为父类,为子类提供通用的属性和方法,同时规定某些必须由子类实现的方法。 关键点: 不能实例化(new 关键字不能用于抽象类)。 可以包含抽象方法(没有方法体的方法)。 可以包含普通方法(有方法体的方法)。 子类必须实现抽象方法,否则子类也必须声明为抽象类。 2. 抽象类的定义使用 abstract 关键字定义一个抽象类,例如: 12345678910// 抽象类 Animalabstract class Animal { // 抽象方法(没有方法体,子类必须实现) abstract void makeSound(); // 具体方法(有方法体,子类可直接使用或重写) void sleep() { System.out.println("Sleeping..."); }} 3....
Java 封装
Java 封装(Encapsulation)详细教学1. 什么是封装?封装(Encapsulation)是面向对象编程(OOP)的三大特性之一(另外两个是继承和多态)。它指的是将对象的状态(成员变量)私有化,同时提供公共的方法(getter 和 setter)来访问和修改这些变量,从而隐藏实现细节,保护数据安全。 封装的核心思想: 隐藏对象的内部实现,防止外部直接访问。 通过方法提供受控访问,保证数据完整性和安全性。 提高代码的可维护性和可扩展性,修改内部代码不会影响外部调用。 2. 如何实现封装?Java 中实现封装主要有以下几个步骤: 将类的成员变量(字段)声明为 private,使其无法被外部直接访问。 提供 public 方法(getter 和 setter)来访问和修改 private 变量。 可以在 setter 方法中添加逻辑检查,确保数据合法性。 示例代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748// 创建一个封装的...
Java 接口
Java 接口(Interface)详细教学1. 什么是接口(Interface)?接口(Interface) 是 Java 中的一种特殊类型,它定义了一组方法但不提供实现,供类来实现(implement)。接口用于定义行为规范,支持多态和解耦,增强代码的灵活性。 接口的特点: 只定义方法,不提供具体实现(Java 8 及以上可以有默认方法)。 所有方法默认是 public abstract(可以省略)。 接口中的变量默认是 public static final(常量)。 支持多实现(一个类可以实现多个接口)。 不能实例化,只能被实现。 2. 如何定义接口?接口的语法1234567interface 接口名 { // 常量(默认 public static final) 类型 变量名 = 值; // 抽象方法(默认 public abstract) 返回类型 方法名(参数列表);} 示例:定义一个接口1234567// 定义一个 Animal 接口interface Animal { int EYES =...
Java 枚举
Java 枚举(enum)详细教学1. 什么是枚举(enum)?枚举(enum) 是 Java 中一种特殊的类,用于表示一组固定的常量。它使代码更可读、更安全,并避免了魔法值(Magic Numbers)的问题。 枚举的特点: 固定的取值范围(不能动态添加)。 默认继承 java.lang.Enum,不能继承其他类(但可以实现接口)。 每个枚举值都是 public static final 类型的实例。 可以添加构造方法、成员变量、方法。 可以与 switch 语句一起使用。 2. 如何定义和使用枚举?基本枚举123enum Color { RED, GREEN, BLUE;} 使用枚举123456public class EnumTest { public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); // 输出 RED }} 3....
Java 继承
Java 继承(Inheritance)教学什么是继承?继承(Inheritance) 是 Java 面向对象编程(OOP)中的一个重要特性。子类(Subclass) 可以继承 父类(Superclass) 的属性和方法,从而实现代码复用,减少重复代码,提高可维护性。 🔹 继承的特点: ✅ 子类 继承 父类 的所有非私有(private) 的属性和方法。 ✅ 子类可以 新增方法和属性,也可以重写父类方法(方法覆盖,Override)。 ✅ Java 只支持单继承,但可以通过接口(Interface) 实现多继承的效果。 ✅ super 关键字可以调用 父类的构造方法或方法。 继承的基本语法123456789class 父类 { // 父类属性 // 父类方法}class 子类 extends 父类 { // 子类特有的属性 // 子类特有的方法} 继承的基本示例12345678910111213141516171819202122232425// 父类class Animal { ...
Java.util.List
Java List 接口详细教学java.util.List 是 Java 集合框架中的一个接口,继承自 Collection,表示一个有序、可重复的元素集合。 1. List 特点 有序(Ordered):元素存储顺序与插入顺序一致。 可重复(Duplicates Allowed):允许存储重复元素。 支持索引(Index-based):可以通过索引访问和修改元素。 支持任意位置插入/删除(Insert/Delete at any position)。 允许存储 null 值。 2. List 主要实现类 实现类 特点 ArrayList 基于动态数组,查询快(O(1)),增删慢(O(n)),线程不安全。 LinkedList 基于双向链表,增删快(O(1)),查询慢(O(n)),线程不安全。 Vector 线程安全的 ArrayList,但性能较低。 Stack 继承 Vector,实现 LIFO 结构(栈)。 3. List 的常用方法List 继承自 Collection,所以它除了支持 Collection...
Java反射
Java 反射(Reflection)详细教学1. 什么是 Java 反射?Java 反射(Reflection) 是 Java 语言中的一个重要机制,它允许程序在运行时动态获取类的信息,并创建对象、调用方法、访问和修改字段,即使在编译时类的具体类型未知。 反射的作用: 获取类的结构信息(类名、构造方法、字段、方法等)。 动态创建对象(即使没有显式地写 new)。 动态调用对象的方法。 访问或修改对象的字段(包括私有字段)。 用于开发通用框架,如 Spring、MyBatis、Hibernate 等。 2. 反射的核心类反射主要依赖 java.lang.reflect 包中的几个核心类: 类 作用 Class<?> 代表 Java 中的类或接口(每个类都有一个 Class 对象)。 Constructor<T> 代表类的构造方法,可以用来创建对象。 Method 代表类的方法,可以用来调用方法。 Field 代表类的字段(成员变量),可以用来获取或修改字段的值。 3. 获取 Class 对象在 Java...
Java异常处理
Java 异常处理教学1️⃣ 什么是异常?在 Java 中,**异常(Exception)**是程序运行时发生的错误,可能会导致程序中断。异常通常发生在: 数学计算错误(如除以 0) 数组访问越界 文件找不到 空指针访问 类型转换错误等 为了保证程序的稳定性,Java 提供了异常处理机制来捕获和处理这些错误。 2️⃣ Java 异常体系在 Java 中,异常类是 Throwable 类的子类,可以分为: Error(错误):通常是 JVM 级别的错误,不应该在代码中处理(如 OutOfMemoryError)。 Exception(异常): 受检异常(Checked Exception):必须在代码中处理,否则编译错误(如 IOException)。 非受检异常(Unchecked Exception):程序运行时可能发生,但可以不处理(如 NullPointerException)。 Java 异常类层次结构12345678910111213141516171819Throwable│├── Error(错误) ❌ 一般不处理│ ├──...