Java学习笔记
Java技术博文
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java可变类与不可变类
可变类和不可变类(Mutable and Immutable Objects)的初步定义: 可变类:当你获得这个类的一个实例引用时,你可以改变这个实例的内容。 不可变类:当你获得这个类的一个实例引用时,你不可以改变这个实例的内容。不可变类的实例一但创建,其内在成员变量的值就不能被修改。 如何创建一个自己的不可变类: .所有成员都是private .不提供对成员的改变方法,例如:setXXX转载 2015-01-25 13:30:32 · 626 阅读 · 0 评论 -
equals和hashCode解析
覆盖equals时需要遵守的通用约定: 覆盖equals方法看起来似乎很简单,但是如果覆盖不当会导致错误,并且后果相当严重。《Effective Java》一书中提到“最容易避免这类问题的办法就是不覆盖equals方法”,这句话貌似很搞笑,其实想想也不无道理,其实在这种情况下,类的每个实例都只与它自身相等。如果满足了以下任何一个条件,这就正是所期望的结果: 类的每个实例本质上都是唯转载 2015-01-24 22:07:04 · 582 阅读 · 0 评论 -
Java 构造函数-涵盖了构造函数遇到的所有问题,经典
11.2.1 重载构造方法 11.2.2 默认构造方法 11.2.3 子类调用父类的构造方法 11.2.4 构造方法的作用域 11.2.5 构造方法的访问级别 从上一节可以看出,在多数情况下,初始化一个对象的最终步骤是去调用这个对象的构造方法。构造方法负责对象的初始化工作,为实例变量赋予合适的初始值。构造方法必须满足以下语法规则: (1) 方法名必须与类名相同。 (2)转载 2015-01-24 20:46:23 · 806 阅读 · 0 评论 -
Hashcode的作用
============================================================ 改写equals时总是要改写hashCode ============================================================ java.lnag.Object中对hashCode的约定: 1.在一个应用程序执行期间,如果一个转载 2015-01-24 22:05:26 · 634 阅读 · 0 评论 -
JAVA抽象类与接口区分
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还转载 2015-01-25 23:44:43 · 826 阅读 · 0 评论 -
Java不可变类
本篇文章是Java中的不可变类型进行了详细的分析介绍,需要的朋友参考下 我们先看下面一个例子: 复制代码 代码如下: import java.math.BigInteger; public class BigProblem { public static void main(String[ ] args) {转载 2015-01-25 13:35:43 · 774 阅读 · 0 评论 -
Java内部类
目录[阅读本文大概需要3分钟]:什么是内部类?为什么需要内部类?内部类的种类3.1 静态内部类3.2 成员内部类3.3 局部内部类3.4 匿名内部类1、什么是内部类?在一个类的内部定义的类,就是内部类。像下面这样。2、为什么需要内部类?@《Java编程思想》内部类可以实现多重继承(类或抽象类),可以参考下面这篇博文 https://blog.csd...原创 2018-07-15 19:33:44 · 304 阅读 · 0 评论
分享