码迷,mamicode.com
首页 > 编程语言 > 详细

Java之面向对象Object类

时间:2016-05-23 01:05:35      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:object   equals   源代码   java   字符串   

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类

标签:object   equals   源代码   java   字符串   

原文地址:http://hnyuanzijian.blog.51cto.com/8869344/1776033

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!