Object类

Posted Dev_Nick

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object类相关的知识,希望对你有一定的参考价值。

java中创建对象的两种方式:
 方式一:自定义类,然后通过自定义的类创建对象。
 方式二:sun提供了很多的类给我使用,我们只需要认识这些类,我们就可以通过这些类创建对象了。
 

Object类:
Object类是所有类的终极父类。 任何一个类都继承了Object类。

Object类中常用的方法:

  toString();    返回该对象的字符串表示。 返回一个字符串用于描述该对象的。 
   equals(Object obj)   用于比较两个对象的内存地址,判断两个对象是否为同一个对象。
   hashCode()   返回该对象的哈希码值(可以把哈希码就理解成是对象的内存地址)。

代码示例:

 1 class Person{
 2         
 3     int id;
 4     String name;
 5     public Person(int id, String name) {
 6         this.id = id;
 7         this.name = name;
 8     }
 9     
10     //通过重写toString方法来修改println打印对象的时候的格式
11     @Override
12     public String toString() {
13         return "编号:"+id+" 姓名:"+name;
14     }
15     
16     //重写equals方法和hashCode方法来更改两个对象相等的条件
17     @Override
18     public boolean equals(Object obj) {
19         Person p = (Person)obj;
20         return this.id==p.id;
21     }
22     
23     @Override
24     public int hashCode() {
25         return this.id;
26     }
27 }
28 
29 
30 public class ObjectDome {
31 
32     public static void main(String[] args) {
33         //Object类是所有类的终极父类
34         Object o = new Object();
35         //println和toString输出的结果一样,是因为在println方法中默认调用了toString()方法
36         System.out.println(o); 
37         System.out.println(o.toString());
38         
39         //测试重写toString方法
40         Person p = new Person(110, "王五");
41         System.out.println(p);
42         
43         //重写equals方法和hashCode方法来更改两个对象相等的条件
44         Person p1 = new Person(110,"张三");
45         System.out.println(p1);
46         Person p2 = new Person(110,"李四");
47         System.out.println(p2);
48         System.out.println("p1 == p2 ?"+p1.equals(p2));
49     }
50 }
View Code

java中的规范:一般我们重写了一个类的equals方法,我们都会重写它的hashCode方法。

 

java是开源的,所以查看源代码是最好的学习方式:

查看源代码的方式:
   方式一: 按住ctrl键,单击你需要看的源代码.
   方式二:把光标移动到你需要查看代码处按下F3.

 

以上是关于Object类的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 快速开发 代码块

Xcode 快速开发 代码块 快捷键

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

elasticsearch代码片段,及工具类SearchEsUtil.java

拥有的50个CSS代码片段(上)

python使用上下文对代码片段进行计时,非装饰器