Object
来源:互联网 发布:linux daemon 进程 编辑:程序博客网 时间:2024/05/01 23:08
Object
类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
Object类中的方法
String toString() 返回该对象的字符串表示。
打印对象时,会默认调用toString方法
源代码:returngetClass().getName() + '@' + Integer.toHexString(hashCode())
code:
package cn.river.object;class Person{}public class ObjectDemo { publicstatic void main(String[] args) { Personp = new Person(); System.out.println(p);//cn.river.object.Person@811c88 System.out.println(p.toString());//cn.river.object.Person@811c88 }}
覆盖toString方法,目的:就是为了展示类中成员变量的值
package cn.river.object;class Person{ Stringname; intage; publicPerson(String name,int age){ this.name=name; this.age= age; } //覆盖toString方法 publicString toString(){ returnname+age; }}public class ObjectDemo { publicstatic void main(String[] args) { Personp = new Person("river",22); System.out.println(p);// river22System.out.println(p.toString());//river22 }}
Object类中的方法 public booleanequals(Object obj){}
源代码
publicboolean equals(Object obj){
return (this==obj); //比较的是内存地址值
}
code:
package cn.river.object;public class ObjectDemo2 { publicstatic void main(String[] args) { Personp = new Person("river",22); Personp1 = new Person("river",22); System.out.println(p.equals(p1)); }}class Person{ Stringname; intage; publicPerson(String name, int age){ this.name=name; this.age=age; }}
覆盖equals方法:目的建立自己的比较方式,比较对象中的其他内容
code:
package cn.river.object;public class ObjectDemo2 { publicstatic void main(String[] args) { Personp = new Person("river",22); Personp1 = new Person("river",22); System.out.println(p.equals(p1)); }}class Person{ Stringname; intage; publicPerson(String name, int age){ this.name=name; this.age=age; }//覆盖equals方法 publicboolean equals(Object obj){ if(this==obj) returntrue; if(objinstanceof Person) { Personp1 = (Person) obj; if(p1.age==this.age&& p1.name==this.name){ returntrue; } } returnfalse; }}
== 与 equals 方法的区别:
|-- ==是比较运算符,equals是方法,==用于比较基本数据类型的数值是否相等,在引用类型数据时,比较的是内存中引用地址是否相等
|-- equals 是Object类中的方法,默认比较的也是地址,但是我们可以覆盖equals方法,建立自己的比较形式
void finalize()对象被垃圾回收的时候,JVM自动调用对象的finalize()方法
finalize final finally 有什么区别?
finalize是回收垃圾是JVM自动调用对象的方法
final 是一个最终的修饰符
finally 是配合异常使用时最终要运行的代码
- object
- Object
- object-
- object
- Object
- Object
- Object
- Object
- Object
- Object
- Object
- Object
- Object
- Object
- Object
- Object
- Object
- object
- Uboot启动流程图
- android 退出按钮
- Linux系统学习笔记:虚拟存储器
- uva 10192 - Vacation(LCS)
- 一、MS-DOS历史简介以及运行
- Object
- js -- 注意
- 十大高效原型设计工具
- 纯javascript的ajax实现php异步提交表单
- 百万用户级游戏服务器架构设计(1)
- 目标关键词是什么意思?
- Struts2通配符映射及动态方法调用
- GraphViz 画流程图
- Spring源码阅读3