Java之面向对象Object类

Posted

tags:

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

Java是面向兑现的语言,核心思想:找适合的对象适合的事情 

    方式一:自定义类,然后通过自定义的类创建对象

    方式二:sun公司提供了很多的类给我们使用,我们只需要认识这些类,我们就可以通过这些类创建对象了

Object类是所有类的终极父类

Object类的常用方法:

      toString();       返回该对象的字符串表示,疑问:toString()有何作用,重写toString之后,我们直接输出一个对象的时候,就会输出符合我们所需求的合适数据

      equals(Object obj)用于比较两对象的内存地址是否是同一个对象,判断两个对象是否是同一个对象

      hashCode()返回对象的哈希吗(指的是对象的内存地址)

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

查看源代码的方式

    方式一:按住ctrl键,单机你需要看的源代码

    方式二:可以按下F3把光标移动到,需要查看的代码处

为什么我们需要查看源代码

    1.查看源代码可以使我们了解的更加深入,了解别人是如何写出这个技术的

    2.接收别人的思想

看源代码最忌讳的事情,不要每行代码都可以看懂,要猜出这行代码的要求

package com.yuanzijian01;

class Person{
	int id;
	String name;	
	public Person(int id, String name){
		this.id = id;
		this.name = name;
	}
	//目前我们需要输出一个对象的时候和输出对象的toString方法返回的字符串
	public String toString(){
		return "编号:" + this.id + ",姓名:" + this.name;
	}
	public boolean equals(Object obj){
		Person p = (Person)obj;
		return this.id == p.id;
	}
	public int hashCode(){
		return this.id;
	}
}

public class Demo01 {
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		/*
			Demo01 d = new Demo01();
			System.out.println(d.toString());
	        System.out.println(d);
	     */
		Person p1 = new Person(110,"yuanzijian");
		System.out.println(p1);
		
		Person p2 = new Person(110,"yaunzijian");
		System.out.println(p2);
		
		System.out.println(p1.equals(p2));
		
		System.out.println("p1:" + p1.hashCode());
		System.out.println("p2:" + p2.hashCode());
		
	}

}

执行结果

编号:110,姓名:yuanzijian
编号:110,姓名:yaunzijian
true
p1:110
p2:110


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

Java程序猿之面向对象(上)

8scala面向对象编程之对象

Javase系列之面向对象

Scala入门系列:面向对象之object

面向对象之包装类与Object类

python 面向对象的三大特征之 继承