javaSE学习十二之(object类和包装类)
Object类
object是所有对象的父类。
每个对象都继承了它的11个方法
挑常用的说:==
1.getClass():返回对象的实际类型(class对象)
2.toString():返回对象的String形式。
方法声明:public String toSting()
打印对象:堆空间中的数据块,这块数据无法被打印。
用一个字符串代表这个对象,从而打印到屏幕或者控制。
打印对象s,就是打印s.toString()方法;
可以在类中覆盖此方法。
3.equals(object obj):比较两个对象的内容是否相同。内容一致返回true,否则返回false。
“==”:用来判断变量的值,用在引用上,判断地址是否相同。即两个引用是否指向同一个对象。
4.finalize()方法:垃圾回收器在回收垃圾对象时调用的方法。
Oracle公司发布的jvm:
垃圾对象的认定:零引用算法
垃圾对象的回收时机:延迟回收策略(回收也消耗系统资源,其过程比创建对象耗时更多,更复杂频繁启动,影响性能,所以“不到万不得已,不回收”,等到快满了,一次性回收。)
包装类
八种基本数据类型—>对象
比如Integer和int之间的转换
int转换为integer对象:利用valueOf(int i)
Integer这个类被加载时,会自动创建好256个对象放到一个数组里面(-128到127)
如果你要创建的对象在这个范围内,直接把数组中的给你。不管这个数值创建多少个对象,它始终都是一个。当超出范围的时候,它用同样的数值每创建一个对象,地址会不同。
Integer(对象类型)转换成int(基本数据类型)
调用int.intValue(); 以int类型返回Integer的值。
如果你要创建的对象在这个范围内,直接把数组中的给你。不管这个数值创建多少个对象,它始终都是一个。当超出范围的时候,它用同样的数值每创建一个对象,地址会不同。