Java初学笔记(待修改)
文章平均质量分 89
bite
陈姥姥
一万年太久,只争朝夕
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Comparator 接口Comparator接口
唯一必须重写Comparator接口中只有compare是抽象方法,必须实现。默认方法:其他方法(如reversed())有默认实现,可直接使用。函数式接口特性Comparator是函数式接口,天然支持 Lambda 表达式。这种设计使得Comparator接口既灵活(可以通过默认方法链式组合)又简洁(只需关注核心比较逻辑)。原创 2025-03-25 08:13:52 · 490 阅读 · 0 评论 -
Java泛型程序设计(持续更新)
泛型程序设计意味着编写的代码可以对应多种不同类型的对象重用,比如你一一定不希望为收集到的String,File对象分别编写不同的类。编译器还知道ArrayList<String>的add方法有一个String的参数,这比有一个可以包含万物的Object类型的参数要安全的多,现在编译器就可以检查,防止你插入错误的对象。泛型类可以有多个类型变量。//2.此外,这里没有错误检查,我们可以向数组列表中添加任何类的值,我们定义的files只想插入文件类型但是我们定义一个Student类型之后也可以插入。原创 2025-04-13 21:16:06 · 817 阅读 · 0 评论 -
Java内部类详解
当一个事物的内部还存在一个需要完整结构描述的部分,且该结构仅服务于外部事物时,推荐使用内部类。在Java中,可以将⼀个类定义在另⼀个 类或者⼀个⽅法的内部,前者称为内部类,后者称为外部类。内部类也是封装的⼀种体现。注意事项定义在花括号外部的类不是内部类编译后会生成独立字节码文件,命名格式:内部类和外部类共⽤同⼀个java源⽂件,但是经过编译之后,内部类会形成单独的字节码⽂件二、内部类分类1. 成员内部类① 静态内部类特点:② 实例内部类特点:对比总结:定义在方法体内的原创 2025-03-25 09:45:49 · 644 阅读 · 0 评论 -
Java static关键字详解
想象一下这样的场景:在Java元宇宙中,每个对象都住在自己的小公寓里(堆内存),但城市中心有个超级公告板(方法区),所有市民都能看到并修改上面的信息。System.out.println("发现秘密:" + secret);// 全城共享的储物柜数量。System.out.println("学生总数:" + count);System.out.println("静态块1");System.out.println("静态块2");原创 2025-03-19 16:57:46 · 937 阅读 · 0 评论 -
抽象类与接口:Java中的两大契约设计利器
抽象类像“半成品模板”,通过继承体系强调代码复用。接口像“功能标签”,通过多实现赋予类灵活扩展的能力。理解它们的区别与适用场景,能让你在设计系统时更游刃有余。这个设计是为了共享代码,还是为了定义行为?思考题:如果既要复用代码又要支持多继承,该如何设计?(提示:抽象类实现接口)希望这篇博客能帮助你彻底掌握抽象类与接口的精髓!如果对某个细节仍有疑问,欢迎在评论区留言探讨。🚀。原创 2025-03-19 23:02:15 · 873 阅读 · 0 评论 -
从暴力到优化:区间素数查找的算法演进(Java实现)
素数是只能被1和自身整除的自然数(如2,3,5,7)。判断素数的核心问题在于如何高效检测因数。原创 2025-03-17 17:40:14 · 1035 阅读 · 0 评论 -
详解“编译看左边,运行看右边”
场景编译阶段运行阶段原因实例方法(重写)看左边看右边动态绑定,支持多态静态方法看左边看左边静态绑定,属于类级别私有/final方法看左边看左边无法被重写成员变量看左边看左边变量无多态性。原创 2025-03-16 14:40:21 · 938 阅读 · 0 评论 -
详解静态方法、实例方法、final方法和私有方法
定义方式:使用static关键字修饰。调用方式:通过类名直接调用(无需创建对象实例)。访问权限可以访问静态成员(静态变量、其他静态方法)。不能访问实例成员(实例变量、实例方法),因为它们依赖于对象的存在。继承行为静态方法不能被重写(Override),但子类可以定义同名静态方法(称为“隐藏”)。隐藏的静态方法通过子类类名调用,不影响父类静态方法。定义方式:不添加static关键字。调用方式:必须通过对象实例调用。访问权限可以访问类的所有成员(包括静态和实例成员)。继承行为实例方法可以被子类。原创 2025-03-16 14:38:01 · 1084 阅读 · 0 评论 -
接口深入了解之接口继承、对象比较与深拷贝
Comparable和ComparatorComparable赋予对象内在的比较能力,适合定义默认规则。Comparator提供灵活的外部扩展,支持多样化排序需求。理解二者的差异并合理运用,能让代码既简洁又具备强大的扩展性。这是对象的本质特性,还是临时需求?答案将指引你选择最合适的工具。思考题:如果要对学生先按班级排序,再按分数排序,该如何实现?(提示:结合和浅拷贝仅复制对象本身,而不复制其内部引用类型的属性。拷贝后的对象与原对象共享引用类型的成员变量。深拷贝会递归复制对象及其所有引用类型的属性。原创 2025-03-19 23:41:35 · 896 阅读 · 0 评论 -
深入浅出Java多态
多态不仅是Java的特性,更是一种设计哲学——面向抽象编程,而非具体实现。更灵活:新增功能无需修改旧逻辑更模块化:各司其职,降低耦合更易维护:减少重复代码,提升可读性下次写出时,别忘了:这简短的代码背后,正是多态在默默支撑!原创 2025-03-16 14:40:34 · 643 阅读 · 0 评论 -
Java封装详解:隐藏细节,提升代码质量
private:最严格的封装,仅同类可见。default:包内协作的默认选择,限制外部包访问。protected:兼顾继承需求,允许子类跨包访问。public:完全开放,适用于全局接口或常量。通过合理使用访问修饰符,可以构建高内聚、低耦合的代码结构,提升程序的健壮性和可维护性。封装不仅是Java的语法特性,更是一种设计哲学。可维护性:内部修改不影响外部调用。安全性:防止数据被非法篡改。易用性:简化调用者的使用复杂度。最终建议。原创 2025-03-21 02:28:26 · 2222 阅读 · 0 评论 -
Java继承详解:从入门到精通,掌握面向对象的核心
void mew() { System.out.println(name + "喵喵喵~~~");void mew() { System.out.println(name + "喵喵喵~~~");final public class Animal { ... } // 不能被继承。class Benz extends Car { ... } // 奔驰是汽车。class C extends A, B { ... } // 编译报错。修饰符 class 子类 extends 父类 { ... }原创 2025-03-18 13:33:55 · 676 阅读 · 0 评论 -
类和对象的重要前提知识:深入解析包与代码块
包是Java中组织类的一种机制,类似于文件系统中的文件夹。解决类名冲突:不同包中允许存在同名类。提高代码可读性:通过包名可以直观了解类的功能归属。控制访问权限:通过包级别的访问修饰符实现权限管理。例如,Java标准库中的和虽然类名相同,但通过包名区分,避免了命名冲突。创建自定义包的规则:包名通常采用公司域名的倒置形式(如),确保唯一性。包路径需与文件系统的目录结构一致(如。原创 2025-03-21 02:33:19 · 2025 阅读 · 0 评论
分享