![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA编程思想
旨在解决编程常见问题以及语言本身设计原理和应用场景
六十三吖
代码也是我生活的一部分
展开
-
Java编程思想之 ------ 再谈重写equals需要重写hashcode?
这其实是个老生常谈的问题了,不过还是有人不理解,所以这里就总结一下一、介绍我们知道任何对象都直接或者间接继承Object类,而我们今天要探讨的问题就定义在Object中,瞅一瞅public boolean equals(Object obj) { return (this == obj);}public native int hashCode();可以看出来,equals方法在Object类中默认实现,其含义是比较两个引用所指向的对象是否一样(仔细理解一下)而hashcod原创 2020-06-01 23:05:02 · 245 阅读 · 0 评论 -
Java编程思想之 ----- 序列化和反序列化
一、入门首先当然得理解什么是序列化和反序列化序列化是将Java对象序列化成二进制(即字节序列)的过程。反序列是将被字节序列重新变成Java对象的过程。理解:本质上是改变了Java对象的生存周期,使得Java对象可以持久化存储,同时也实现了对象也可以作为网络传输的数据。二、如何实现通过继承 Serializable 接口便可实现对象的序列化。挖坑:查看Serializable 接口可以看到是空实现,具体作用下面讲解怎么实现直接上代码(ps:例子是抄的附上链接 序列化和反序列化的原创 2020-06-01 13:27:53 · 267 阅读 · 0 评论 -
JAVA编程思想之 ------ final关键字
一、概念final在Java中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。final所修饰的内容一旦赋值之后就不会再被改变理解:本质就是标识一个资源不能被修改二、使用1. final成员变量表示常量,只能被赋值一次,赋值后值不再改变。final修饰一个成员变量(属性),必须要显示初始化。这里有两种初始化方式,一种是在变量声明的时候初始化;第二种方法是在声明变量的时候不赋初值,但是要在这个变量所在的类的所有的构造函数中对这个变量赋初值。2. final修饰方法以下原创 2020-05-26 20:17:40 · 259 阅读 · 0 评论