自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 java 继承与多态

核心定义:继承是Java面向对象三大特性之一,允许子类(派生类)复用父类(基类)的属性和方法,同时可扩展自身特有功能,实现代码复用与层级划分。3. 构造方法不能被继承,子类构造方法中默认通过 super() 调用父类无参构造,若父类无无参构造,子类需显式调用父类有参构造。核心定义:多态是指同一行为在不同对象上表现出不同的实现形式,依托继承/实现、方法重写、父类引用指向子类对象三个条件实现。• 多态中,父类引用只能调用父类中定义的方法和属性,若子类重写了该方法,执行的是子类的实现。// 输出:猫叫:喵喵喵。

2025-12-29 10:09:28 528

原创 JAVA 对象概述

3. **垃圾回收**:Java自动管理对象内存,当对象不再被引用时会被回收。- `equals(Object obj)`:比较对象内容。3. **标识**:对象的唯一身份(通常通过引用实现)- `toString()`:返回对象的字符串表示。- `getClass()`:返回对象的运行时类。- `hashCode()`:返回对象的哈希码。2. **this关键字**:引用当前对象。1. **状态**:由对象的属性值表示。1. **构造方法**:用于初始化对象。2. **行为**:由对象的方法表示。

2025-12-29 10:05:05 232

原创 Java IO 流

Java IO 流是用于处理设备间数据传输的机制,以流的形式(字节/字符序列)读写数据,核心分为字节流和字符流两大类,还有处理流(包装流)对节点流进行增强。• 字节流:以byte为单位(8位),处理所有类型数据(文件、图片、视频等),顶层父类是InputStream(读)和OutputStream(写)。• 处理流:包装节点流,提供缓冲、编码转换等增强功能,如BufferedInputStream、InputStreamReader。• 输出流:从程序写入数据到外部设备。类型 输入流代表类 输出流代表类。

2025-12-28 18:22:23 286

原创 java 抽象类和接口

抽象类中可以包含抽象方法(无方法体,用abstract修饰)和普通方法(有完整实现),也能定义成员变量、构造方法。侧重行为约束和功能扩展,体现 has-a 的逻辑,比如 Runnable 接口定义了“可运行”的行为,任何类只要实现这个接口,就具备了运行的能力,和类的继承体系无关。侧重代码复用和继承关系,体现 is-a 的逻辑,比如 Animal 作为抽象类,Dog 和 Cat 作为子类,它们本质上都是动物,共享动物的属性和部分行为。◦ 一个类可以实现多个接口(多实现),接口之间可以多继承。

2025-12-28 18:19:25 158

原创 Java运算符优先级速记表

6 比较运算符 <、<=、>、>=、instanceof 从左到右。2. 单目运算紧随:自增/自减、取反等单目运算符优先级高于算术运算。4. 比较运算在算术后、逻辑前:先比较出布尔值,再做逻辑判断。、~、++、--、(类型) 从右到左。5 位运算符(移位) <<、>>、>>> 从左到右。14 赋值运算符 =、+=、-=、*=等 从右到左。3 算术运算符(乘除取模) *、/、% 从左到右。1 括号/点运算符 ()、[]、. 从左到右。4 算术运算符(加减) +、- 从左到右。7 相等运算符 ==、!

2025-12-24 13:21:49 198

原创 Java 运算符

表达式1 : 表达式2,条件为真执行表达式1,否则执行表达式2。& 逻辑与 全真才真,左右都执行 true&false。>> 右移(带符号) 6>>1 → 0011(结果3)+ 加法/拼接 5+3/"a"+1 8/"a1"运算符 作用 示例(6是0110,3是0011)运算符 作用 规则(全真才真/一真即真) 示例。>>> 无符号右移 -6>>>1 → 高位补0。^ 按位异或 6^3 → 0101(结果5)& 按位与 6&3 → 0010(结果2)/ 除法 5/2/5.0/2 2/2.5。

2025-12-24 13:20:39 221

原创 java 类

在 Java 中,类(Class) 是面向对象编程的核心,是封装数据(成员变量)和行为(成员方法)的模板,用来创建对象。System.out.println("我叫" + name + ",今年" + age + "岁");• 访问修饰符:常用 public、private、protected、默认(不写),控制类/成员的访问权限。// 无返回值时用 void。// 2. 构造方法(用于创建对象)// 1. 成员变量(属性)// 3. 成员方法(行为)// 调用对象的方法。// 主方法,用于测试。

2025-12-23 13:00:39 183

原创 Java多线程易错题总结

1. 线程创建方式的适用场景误区:误以为继承Thread类和实现Runnable接口的效果完全一致,实际Runnable接口更适合多线程共享资源的场景,因为多个线程可共用一个Runnable实现类实例,而继承Thread类时每个线程是独立对象,共享资源的灵活性更低。正确认知:Java线程优先级只是给线程调度器的参考建议,高优先级线程只是获得CPU执行的概率更高,具体执行顺序仍由操作系统的调度机制决定,并非绝对的先后关系。易错点:认为调用Thread类的start()方法,线程会立即开始执行。

2025-12-23 12:54:42 158

原创 JAVA 注解常用代码

System.out.println("方法注解 value: " + annotation.value());System.out.println("类注解 value: " + annotation.value());System.out.println("方法注解 num: " + annotation.num());System.out.println("类注解 num: " + annotation.num());// 获取方法上的注解。// 注解的作用目标:作用于类和方法。

2025-12-22 09:14:48 298

原创 JAVA 反射常用代码

/ 方式3:Class.forName(全类名) 需处理 ClassNotFoundException。setNameMethod.invoke(obj, "王五");// 获取有参构造(参数类型为 String, int)// 获取 private 成员变量,需设置可访问。// 获取有参方法(参数类型为 String)// 获取 public 成员变量。// 方式1:对象.getClass()// 方式2:类名.class。Java 反射常用代码。3. 获取成员变量并操作。// 获取实现的接口。

2025-12-22 09:14:32 216

原创 JAVA 异常处理

System.out.println("finally 代码块一定会执行");} catch (Exception e) { // 父异常放在最后。System.out.println("除数不能为0");System.out.println("数组索引越界");System.out.println("空指针异常");System.out.println("算术异常");System.out.println("其他异常");

2025-12-21 15:26:22 239

原创 常见 JAVA 代码大全

System.out.println(map.get("语文"));

2025-12-21 15:24:10 209

原创 Java怎样输出数组—三种方法

◦ 核心逻辑:通过 Arrays.stream() 将数组转为流,使用 forEach() 直接打印元素,或结合 Collectors.joining() 自定义分隔符拼接后输出。◦ 核心逻辑:调用 java.util.Arrays 工具类的 toString() 方法,直接将一维数组转为「[元素1, 元素2, ...]」格式的字符串并打印。◦ 特点:代码简洁高效,无需手动遍历;◦ 核心逻辑:通过普通 for 循环(需手动控制索引)或增强 for 循环(直接遍历元素),逐个读取数组元素并打印。

2025-12-01 13:44:04 183

原创 Java后端递归构建树形结构

1. 核心逻辑:通过「父子节点ID关联」,先筛选顶层根节点,再递归遍历所有节点,将子节点挂载到对应父节点下,形成层级嵌套结构,适用于菜单、分类等场景。◦ 第四步:递归挂载子节点——为每个根节点查找直接子节点,再为每个子节点递归查找其下级节点,直至无后续子节点,最终形成完整树形。◦ 性能优化:数据量大时,将平级节点列表转为ID为键的映射(Map),查询子节点时直接通过键获取,避免重复循环,提升效率。◦ 第一步:定义节点实体,包含主键ID、父节点ID、子节点集合(存储下级节点)及业务字段(如名称、状态)。

2025-12-01 13:40:20 166

原创 在Java中,LinkedList和ArrayList有什么区别

LinkedList:O(1) - 只需要修改指针(但找到位置需要O(n))· LinkedList:O(n) - 需要从头或尾开始遍历。· ArrayList:O(1) - 直接通过数组下标访问。· ArrayList:O(n) - 需要移动后续元素。· 中间添加:O(n)(主要是查找位置的时间)· LinkedList:迭代器创建快,但遍历稍慢。· LinkedList:内存分散,不需要连续空间。· ArrayList:遍历很快,CPU缓存友好。· LinkedList:遍历较慢,缓存不友好。

2025-11-26 15:57:39 351

原创 JAVA-链表

Java的LinkedList是基于双向链表实现的,每个节点都有指向前驱节点和后继节点的指针。由于每个节点都需要额外的内存来存储指针,LinkedList的内存开销比ArrayList大约多50%-100%。链表是一种线性数据结构,由一系列节点组成,每个节点包含两部分:数据域和指针域。· 在指定位置插入 - 需要先遍历到指定位置的前一个节点,然后调整指针。· 删除中间节点 - 找到目标节点的前驱节点,调整其指针跳过目标节点。· 多节点链表:头节点的前驱为null,尾节点的后继为null。

2025-11-26 15:55:59 309

原创 java 循环结构

• 遍历集合时,若需修改元素,使用Iterator代替普通for循环,避免ConcurrentModificationException。• 增强for循环无法修改集合元素(会触发异常),如需修改,用普通for循环或Iterator。• 循环条件需避免死循环(如while(true)需配合break退出)。• 多层循环中,将长循环放在内层,短循环放在外层,减少循环嵌套次数。• break:跳出当前循环(可配合标签跳出多层循环)。

2025-06-19 19:15:06 356

原创 java 函数

• 修饰符:常见的有public(公共访问)、private(私有访问)、static(静态方法,可通过类名直接调用)。• 返回类型:可以是基本类型(如int、double)、引用类型(如String)或void(无返回值)。• 同一类中允许存在多个同名方法,但参数列表(数量、类型或顺序)必须不同,与返回类型无关。• JDK 1.5后支持可变参数,用...表示,本质是数组,只能作为方法的最后一个参数。• 参数列表:支持单个或多个参数,参数需指定类型,多个参数用逗号分隔。// 方法体(执行的代码逻辑)

2025-06-19 19:06:54 345

原创 java 数组

String[] fruits = new String[]{"苹果", "香蕉", "橙子"};• Arrays 类:提供排序(sort)、查找(binarySearch)、复制(copyOf)等方法。• 访问元素:通过索引(从0开始)访问,如 nums[0] = 100;• 访问方式:matrix[0][1] = 2;

2025-06-19 15:55:22 353

原创 java 接口

特性 | 接口(Interface) | 抽象类(Abstract Class) || 变量 | 只能是常量(public static final) | 可以是普通变量 || 变量 | 只能是常量(public static final) | 可以是普通变量 || 特性 | 接口(Interface) | 抽象类(Abstract Class) |

2025-06-19 11:31:22 835

原创 JAVA 对象概述

3. **垃圾回收**:Java自动管理对象内存,当对象不再被引用时会被回收。- `equals(Object obj)`:比较对象内容。3. **标识**:对象的唯一身份(通常通过引用实现)- `toString()`:返回对象的字符串表示。- `getClass()`:返回对象的运行时类。- `hashCode()`:返回对象的哈希码。2. **this关键字**:引用当前对象。1. **状态**:由对象的属性值表示。1. **构造方法**:用于初始化对象。2. **行为**:由对象的方法表示。

2025-06-18 14:48:00 519

原创 Deepseek发展

DeepSeek 是一家中国的人工智能软件公司,其发展历程可以追溯到 2016 年。

2025-03-07 16:05:12 1296

原创 初识Java

它具有 “一次编写,到处运行” 的特性,这意味着只要在一台机器上编写好 Java 程序,无需过多修改,就可以在其他支持 Java 的设备上运行,大大提高了开发效率和程序的可移植性。同时,Java 的安全性高,拥有自动内存管理机制,减少了程序员手动管理内存的负担,降低了程序出错的概率。我们需要从 Oracle 官方网站下载 Java Development Kit(JDK),这是 Java 开发的核心工具包,包含了编译、调试 Java 程序所需的各种工具和库。初识 Java,我们只是浅尝了它的冰山一角。

2025-03-07 15:57:13 248

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除