摘要: 空指针是 Java 最常见异常,主要因 “调用了 null 对象的方法 / 属性”,常见场景:​ 对象没初始化就用(如User u = null; u.getName()),解决:先u = new User();​ 方法返回 null 没判断(如String s = getString(); s.l 阅读全文
posted @ 2025-10-19 16:05 白底纸板 阅读(7) 评论(0) 推荐(0)
摘要: 结论:只有值传递!很多人误解引用类型是 “引用传递”,其实是传递了 “引用的副本(地址值)”。​ 比如传 int 时,复制值给方法参数,修改参数不影响原变量;传对象时,复制地址给参数,若修改参数指向的对象内容(如obj.name = "新值"),原对象会变,但修改参数指向(如obj = new Ob 阅读全文
posted @ 2025-10-19 16:04 白底纸板 阅读(12) 评论(0) 推荐(0)
摘要: 一句话总结:== 对基本类型比 “值”,对引用类型比 “地址”;equals () 默认和 == 一样,但重写后可比 “内容”。​ 比如String a = "abc"; String b = new String("abc");,a==b 是 false(地址不同),a.equals (b) 是 阅读全文
posted @ 2025-10-19 16:04 白底纸板 阅读(9) 评论(0) 推荐(0)
摘要: 以前用 try-catch-finally 关 IO 流,常因 finally 里代码异常,导致流没关闭引发内存泄漏。而 try-with-resources 能自动关闭实现 AutoCloseable 接口的资源(如 FileReader、Socket),无需手动写 finally。​ 示例:​ 阅读全文
posted @ 2025-10-19 16:04 白底纸板 阅读(3) 评论(0) 推荐(0)
摘要: 日常开发选集合常纠结,记住两个关键场景:​ 若频繁做 “查询”(比如get(index)),选 ArrayList,底层数组支持随机访问,速度快;若频繁做 “增删”(尤其是中间位置),选 LinkedList,底层链表只需改指针,不用像数组那样移动元素。​ 反例:用 LinkedList 做大量查询 阅读全文
posted @ 2025-10-19 16:03 白底纸板 阅读(2) 评论(0) 推荐(0)
摘要: 很多人疑惑静态方法里调非静态变量会报错,核心原因是 “加载时机不同”:静态成员(方法 / 变量)在类加载时就初始化,属于 “类级别的资源”;非静态成员要等创建对象后才存在,属于 “对象级别的资源”。​ 就像没造出自行车(对象),没法用自行车的车闸(非静态成员),但可以看自行车的设计图纸(静态成员)。 阅读全文
posted @ 2025-10-19 16:03 白底纸板 阅读(6) 评论(0) 推荐(0)
摘要: Java 里 this 常被初学者忽略,其实就两个核心作用:一是区分成员变量和局部变量,比如构造方法中this.name = name,避免变量名冲突;二是调用本类其他构造方法,用this(参数)在构造方法首行调用,减少重复代码。​ 示例:​ ​ class User {​ String name; 阅读全文
posted @ 2025-10-19 16:03 白底纸板 阅读(8) 评论(0) 推荐(0)
摘要: Java类与对象实践:从代码验证到四则运算开发 在学习Java类与对象后,通过代码验证课件知识点、完成四则运算开发,能更深入理解面向对象编程思想。以下是我在实践过程中的详细记录,包含知识点验证、问题解决及项目开发过程。 一、课件代码验证与知识点总结 (一)引用类型与原始数据类型差异验证 验证代码 p 阅读全文
posted @ 2025-10-19 16:00 白底纸板 阅读(6) 评论(0) 推荐(0)