失效链接处理 |
java个人全部总结 PDF 下载
本站整理下载:
相关截图:
主要内容:
1.New
2.反射:
使用Class类的newInstance方法
使用Constructor类的newInstance方法
3.采用clone
4.采用序列化机制
==与equals
==比较两个对象的地址,首先要是同类型 (是同一个对象)
对于基本数据类型,他们是作为常量在方法区中的常量池里面以HashSet策略存储起来的,基本数据的包装类型(Byte, Short, Character,Integer,Float, Double,Long, Boolean)除了Float和Double之外,其他的六种都是实现了常量池, Integer 在常量池中的存储范围为[-128,127]
Equals
Object类中定义的equals方法是比较地址值(是同一个对象);我们可以重写来根据我们定义的规则比较(即相同不一定是同一个对象)
Hashcode
Hashcode比equals快
1.equal()相等的两个对象他们的hashCode()肯定相等,也就是用equal()对比是绝对可靠的。
2.hashCode()相等的两个对象他们的equal()不一定相等,也就是hashCode()不是绝对可靠的。
流
序列化:
其实序列化就是有格式的二进制数据(可以写入读取的规则),序列化就是将内存中的类或者对象(你写的类都是存储在内存中的)变成可以存储到存储媒介中的流,你将类序列化成流之后可以通过互联网传输给别人
定义:将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象
序列化条件:
1.必须实现java.io.Serializable 接口
2.该类的所有属性必须是可序列化的。如果有一个属性不需要序列化的,则该属性必须注明是瞬态的,使用transient 关键字修饰
transient瞬态修饰成员,不会被序列化,不会把这个属性保存到文件中,持久化
Java对象的static,transient 修饰的属性不能被序列化
|