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
时间: 2024-10-27 19:53:20

Java之面向对象Object类的相关文章

黑马程序员-面向对象-Object类

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>.<a href="http://edu.csdn.net"target="blank">.Net培训</a>.期待与您交流! ---------------------- 一.Object类中的equals(

java笔记--关于Object类与线程相关的方法

关于Object类中的线程方法 Object类是所有Java类的 父类,在该类中定义了三个与线程操作有关的方法,使得所有的Java类在创建之后就支持多线程 这三个方法是:notify(),notifyAll(),wait(),这几个方法都是用来控制线程的运行状态的. 方法列表如下: notify() : 唤醒在此对象监视器上等待的单个线程 notifyAll() : 唤醒在此对象监视器上等待的所有线程 wait() : 在其他线程时调用此对象的notify()或者notifyAll()方法前,导

Java中的Object类

关于Object类的equals()方法的特点: 1) 自反性:对于非空引用x来说,x.equals(x)一定返回true: 2) 对称性:对于非空引用x和y来说,如果x.equals(y)返回true,那么y.equals(x)一定返回true: 3) 传递性:对于非空引用x.y和z来说,如果x.equals(y)返回true,并且y.equals(z)返回true,那么x.equals(z)一定返回true: 4) 一致性:对于非空引用x和y来说,如果x.equals(y)返回true,那么

Java常见对象Object类中的个别方法

Java常见对象Object类 public int hashCode() : 返回该对象的哈希码值. 注意:哈希值是根据哈希算法计算出来的一个值,这个值和地址值有关,但是不是实际地址值.你可以理解成地址值. package common_object; public class Demo extends Object{ } package common_object; public class DemoTest { public static void main(String[] args)

Java基础(43):Java中的Object类与其方法(转)

Object类 java.lang.Object java.lang包在使用的时候无需显示导入,编译时由编译器自动导入. Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类. Object类是Java中唯一没有父类的类. 其他所有的类,包括标准容器类,比如数组,都继承了Object类中的方法. Object类中的方法 构造方法:public Object() 文档中的类概览: Java中的每个类都具有定义在Object类中的这些方法. protected Object cl

Java进阶(1) - Object类

Object类9大方法是哪些1.Clone方法实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常Java里参数传递,除了8种基本类型是值传递.其他类对象都是引用传递. 2.getClass方法final方法,获得运行时类型. 3.toString方法该方法用得比较多,一般子类都有覆盖. 4.finalize方法该方法用于释放资源.因为无法确定该方法说明时候调用,很少使用. 5.equals方法 6.hashCode

面向对象-Object类

一.Object类中的equals()方法 equals(Object obj) :指示其它某个对象是否与此对象"相等". 返回值类型是boolean Oblect类中的equals方法 public boolean equals(Object obj) 姓名和年龄都同样,为同一个人 假设要比較两个人是否为同一个人,Person类就要复写equals方法 class Person { private String name; private int age; public Person

Java学习:Object类

Object:是所有类的根类.所有的类都直接或者间接的继承自该类1 创建学生对象打印学生对象的地址值(本质上是将地址通过哈希算法算出的哈希值) 同一个对象的哈希值肯定是一样的. 哈希值相同的对象的地址值未必一样. 新华字典,zhu -- 456(哈希值) -- 猪(第三个),朱(第5个),珠(第9个) 2 为什么重写toString()方法 默认情况下,打印的是对象的字符串表示,意义不大. 包名...类名[email protected]+该对象的哈希值的十六进制 所以,我们建议,所有子类重写该

java基础类:Object类和Math类

1.2.3.4.5.6.7.7.