Notes on Thinking in Java
第一章 对象导论第二章 一切都是对象前两章是从宏观来介绍面向对象编程相关的内容挺有意思可多看几遍。笔记从第三章开始:第三章 操作符别名现象赋值对象引用会发生什么将一个对象赋值给另一个对象实际上是将引用从一个地方复制到另一个地方。若想保持两个对象彼此独立不建议直接操作对象内的域。容易导致混乱且违背了面向对象程序设计的原则。解决方案深克隆https://blog.csdn.net/DeMonliuhui/article/details/54572908https://blog.csdn.net/nishuishenhan/article/details/4693710https://blog.csdn.net/qq_28081081/article/details/80455150和equals1对于比较的是值是否相等如果作用于基本数据类型的变量则直接比较其存储的 “值”是否相等如果作用于引用类型的变量则比较的是所指向的对象的地址2对于equals方法注意equals方法不能作用于基本数据类型的变量equals继承Object类比较的是是否是同一个对象如果没有对equals方法进行重写则比较的是引用类型的变量所指向的对象的地址诸如String、Date等类对equals方法进行了重写的话比较的是所指向的对象的内容。intx10;inty10;String str1newString(abc);String str2newString(abc);System.out.println(xy);// 输出trueSystem.out.println(str1str2);// 输出falseString str1newString(abc);String str2newString(abc);System.out.println(str1.equals(str2));//输出trueSystem.out.println(str1str2);//输出false上述str1和str2都是在堆内存中创建了对象new了String s1abc;String s2abc;System.out.println(s1.equals(s2));//输出trueSystem.out.println(s1s2);//输出true为什么第二个会是true呢涉及到了内存中的常量池常量池属于方法区的一部分当运行到s1创建对象时如果常量池中没有就在常量池中创建一个对象abc,第二次创建的时候就直接使用所以两次创建的对象其实是同一个对象它们的地址值相等。第五章 初始化与清理数据初始化顺序类加载时静态只执行一次父类——静态变量父类——静态初始化块子类——静态变量子类——静态初始化块类创建时每次创建类执行父类——变量父类——初始化块父类——构造器子类——变量子类——初始化块子类——构造器第六章 访问权限控制JAVA解释器运行过程加载包过程首先找出环境变量CLASSPATHCLASSPATH包含一个或多个目录用作查找.class文件的根目录。从根目录开始解释器获取包的名称并将每个句点替换成反斜杠以从CLASSPATH根中产生一个路径名称于是package foo.bar.baz会变成foo\bar\baz或foo/bar/baz或者其他这一切取决于操作系统。得到的路径会与CLASSPATH中的各个不同的项相连接解释器就在这些目录中查找与你所要创建的类名称相关的.class文件。解释器还会去查找某些涉及java解释器所在位置的标准目录。private构造器构造器私有化谁也无法创建该类的对象别人该怎样使用这个类呢1、创建一个static方法创建一个新的对象并返回一个对它的引用。如果想在返回引用前做一些额外的工作或者记录到底创建了多少个对象此种做法可行。classSundae{privateSundae(){}publicstaticSundaemakeASundae(){returnnewSundae();}}2、单例模式singletonclassSoup2{privateSoup2(){}privatestaticSoup2 ps1newSoup2();publicstaticSoup2access(){returnps1;}}Soup2类的对象是作为Soup2的一个static private 成员而创建的所以有且仅有一个而且除非是通过public方法access()否则是无法访问到它的。第七章 复用类在组合和继承之间选择组合想在新类中使用现有类的功能而非是它的接口has-a有一个继承使用某个现有类并开发它的特殊版本 is-a是一个到底该用组合还使用继承问一问自己是否需要从新类向基类进行向上转型。如果必须向上转型则继承是必须的但如果不需要则应当好好考虑自己是否需要继承。其它private保留“更改底层实现”的权利。然后通过protected方法来控制类的继承者的访问权限第八章 多态多态编译器一直不知道对象的类型但是方法调用机制能找到正确的方法体并加以调用。1、只有非private方法才可以被覆盖2、只有普通方法的调用可以使多态的3、如果某个方法是静态的它的行为就不具有多态性。静态方法是与类而并非单个的对象相关联的4、父类一个变量子类一个同名变量不会覆盖父类的Super supnew Sub();sup.field变量还是父类的sup的普通方法是子类的因为任何域访问操作都将由编译器解析因此不是多态的。

相关新闻

APK Installer:在Windows上无缝运行安卓应用的技术革命

APK Installer:在Windows上无缝运行安卓应用的技术革命

APK Installer:在Windows上无缝运行安卓应用的技术革命 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer Windows与Android生态之间的壁垒,曾是无…

2026/10/29 9:30:43 阅读更多 →
ArkTS 条件渲染别再无脑 if/else——换成 visibility,那个列表滚动帧率从 41 涨到 57

ArkTS 条件渲染别再无脑 if/else——换成 visibility,那个列表滚动帧率从 41 涨到 57

先说结论,不卖关子:在 ArkTS 里控制组件显隐,只要那个组件有内部状态、或者它在一个会频繁滚动或切换的列表里,能不用 if/else 就别用 if/else,换成 .visibility() 把实例留住。我当初不信邪,在一个案例详情…

2026/10/31 11:45:23 阅读更多 →
Android防撤回神器:免Root永久告别消息撤回烦恼的终极指南

Android防撤回神器:免Root永久告别消息撤回烦恼的终极指南

Android防撤回神器:免Root永久告别消息撤回烦恼的终极指南 【免费下载链接】Anti-recall Android 免root 防撤回神器 ! 项目地址: https://gitcode.com/gh_mirrors/an/Anti-recall 还在为错过重要信息而烦恼吗?当同事撤回工作安排、朋友撤回关键对…

2026/11/2 2:17:33 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/3 1:09:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/2 10:46:11 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/2 10:47:40 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/2 1:16:51 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/2 10:46:31 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/2 10:46:26 阅读更多 →

日新闻

周新闻

月新闻