Object类总结

1.Object类的作用和地位:

①Object类是所有类的父类,位于java.lang包中。任何类的对象,都可以调用Object类中的方法,包括数组对象。

②Object类的常用方法:

toString();

equals();

hashCode();

③Object和Object[]之间的区别。

方法中的形参是Object类型时,任何类型的参数都可以传进去执行。

方法中形参是Object[]类型时,只有对象数组可以传入执行。

2.toString方法

toString方法可以将任何一个对象转换成。字符串返回,返回值的生成算法为:getClass().getName() + ‘@‘ + Integer.toHexString(hashCode())。

例如:

public class Student {

private String name = "123";// 学生姓名

private int age;// 年龄

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

//重写toString方法

public String toString(){

return”Student:”+“name=”+name+”,age=”+age;

}

}

打印对象时直接调用类的toString方法:

public static void main(){

Student stu1=new Student();

stu1.setName("张三");

stu1.setAge(23);

System.out.println(stu1);

System.out.println(stu1);

}

打印: [email protected];

类本身重写toString方法:

重写Student类的toString方法后

public static void main(){

Student stu1=new Student();

stu1.setName("张三");

stu1.setAge(23);

System.out.println(stu1);

}

打印: Student: name=张三,age=23;

3.equals方法:

①Object类中的equals方法,用来比较两个引用的虚地址。当且仅当两个引用在物理上是同一个对象时,返回值为true,否则将返回false。

②equals方法

比较对象的虚地址,但是可以在类中被重写。

如:String类重写了,两个相同值的String对象相比较为   true;

String str=new String(“123”);

String str1=new String(“123”);

System.out.println(str.equals(str1));à打印为true.

③“==”

比较的是内存中的虚地址

String str=new String(“123”);

String str1=new String(“123”);

System.out.println(str==str1);à打印为false

4.hashCode方法:获取对象的哈希码值,为16进制。

5.equals方法与hashCode方法关系:

① 如果两个对象使用equals比较返回true,那么它们的hashCode值一定要相同。

②如果两个对象equals比较返回false,那么它们的hashCode值不一定不同。

③覆盖equals,往往需要覆盖hashCode,可以使用Eclipse自动生成,保证equals返回true,则hashCode相同;equals返回false,则hashCode不同。

④在Set集合部分有实际应用。

时间: 2024-11-15 06:01:05

Object类总结的相关文章

Object类

Object类是所有类,数组,枚举类的父类,也就是说,java允许把任何类型的对象赋值给Object类型的 变量,当定义一个类是没有石油extends关键字为他显示指定父类时,则该类默认继承Object父类 因为所有的类都是Object类的子类,所有任何java对象都可以调用Object类的方法,Object类提供了如下的 几个常用的方法 1.boolean equals(Object obj): 判断指定对象与该对象是否相等,此处相等的标准是,两个对象是同一个对象 2.protected vo

Java类的设计----Object 类

Object类 Object类是所有Java类的根父类如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类 public class Person { ... } 等价于: public class Person extends Object {. ... }例: method(Object obj){-}//可以接收任何类作为其参数 Object o=new Person; method(o); ==操作符与equals方法 ==操作符与equals方法的区别: =

Javascript中的Object类

Object类是Javascript中最基本的类,用来创建普通对象,通常用这些对象存储数据. 1.Object对象 1.1.创建Object对象 创建Object对象有两种方式 第一种创建方式:new Object() var obj = new Object(); 第二种创建方式:{} var obj = {}; var obj2 = {"name":"tom","age":24}; 1.2.添加属性 obj.firstname = "

【宋红康学习日记11】Object类与equals方法

1 == (1)当对象是基本数据类型时,比较值: (2)当对象是引用型时,比较的是地址值!!1 2 equals():只处理引用型数据:Object类中的equals方法依然比较的是地址值! 但在String,File,Date类重写了equals方法,比较的是值: 3 String类内存解析 Person p1=new Person("花花",20); Person p2=new Person("曹操",40); syso(p1==p2);//false syso

java之Object类介绍

1.Object类是所有java类的基类 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类,ex: public class Person{ ~~~~~ } 等价于 public class Person extends Object{ ~~~~~ } 2.Object类之equals方法 ①.Object类中定义有: public boolean equals(Object obj)方法. 提供定义对象是否相等的逻辑. ②.Objec的equals方法  定义为

包装类、Object类——Java笔记(八)

包装类: 基本数据类型的包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long char Character float Float double Double boolean Boolean 基本数据类型包装类除了Character类之外,其他7个都有两个构造方法 一个构造方法传参传的是基本数据类型本身 另一个构造方法传参传的是String类型的,而Character少的就是这一个,即public Character(String

黑马程序员-面向对象-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(

Object类-try-catch-finally-throw-throws-自定义异常

一.Object类     Object类是最顶端的类,其它类都是它的子类,它的方法可以被继承.如果定义的类没有继承别的类,那它的直接父类就是Object.如果方法参数类型为object类型, 则调用方法可以传递任意类型的值(相当于多态);同理,如果方法返回值为Object类型,那么给方法的返回数据值为任意类型.     两种常用方法:toString()/equals() (1)toString方法 源码: public String toString(){         return ge

static,final关键字,Object类的tostring方法,equals方法,hashCode方法

1)static关键字 static可以修饰:属性.方法.代码块 静态方法不能访问非静态 属性 或 方法 属性(变量): 成员变量: 静态变量: 通过 类名.静态变量来访问 通过 对象名.静态变量来访问(是有警告的) 存在于方法区中,有且仅有一份 非静态变量 局部变量 代码块 代码块的执行顺序 1.静态代码块:哪个静态代码块放在前边,就先执行谁 2.普通代码块:哪个普通代码块放在前边,就先执行谁 3.构造方法 如果有两个类,一个类是Father,另一个类是Child , Child 继承了 Fa

Java深入研究【1、object类】

一.概述Object类是所有Java类的祖先.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法. 参考英文:* Class {@code Object} is the root of the class hierarchy.* Every class has {@code Object} as a superclass. All objects,* including arrays, implement the methods of this class. 英文释义: