本系列博客汇总在这里:Java系列_汇总
目录
- 一、Object 的概述
- 二、Object 的几个重要方法
- 1、object 下的 tostring 方法
- 2、Object 下的 hashCode 方法
- 3、Object 下的 equal 方法
- 三、单例模式下的对象比较
一、Object 的概述
- Object 是所有类的根类,所有类都是直接或者间接的去继承 object 类。
- 类 object 是类层次结构的根类。每个类都使用 object 作为超类。所有对象(包括数组),都实现这个类的方法。
java.lang.object 类是默认被每一个类继承的,所以一个类是可以直接调用 object 下的方法的。
二、Object 的几个重要方法
1、object 下的 tostring 方法
API 中的说明
示例
class Student
{
}class Welcome
{
public static void main(String[] args)
{
//创建一个学生实例
Student st = new Student();
//直接打印这个对象是默认调用从父类Object继承下来的toString方法
System.out.println("直接打印对象:"+st);
}
}toString 方法的重写
/**
*java.lang.object类是默认被每一个类继承的
*/
//class Student extends Object{
class Student
{
private String name;
private int age;
private String gender;
public Student()
{
super();
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setAge(int age)
{
this.age = age;
}
public int getAge()
{
return age;
}
public void setGender(String gender)
{
this.gender = gender;
}
public String getGender()
{
return gender;
}
//重写object里面的方法toString
public String toString()
{
return this.name + "-" + this.age + "-" + this.gender;
}
}class Welcome
{
public static void main(String[] args)
{
Student st = new Student();
st.setName("张三");
st.setAge(18);
st.setGender("男");
String str = st.toString();
System.out.println(str);
}
}
2、Object 下的 hashCode 方法
- API 中的说明
- 示例源码
class Student
{
}
class Welcome
{
public static void main(String[] args)
{
//创建一个学生实例
Student st = new Student();
//直接打印这个对象
System.out.println("直接打印对象:"+st);
//打印对象的哈希值
System.out.println("对象哈希值:"+st.hashCode());
}
}
3、Object 下的 equal 方法
- API 中的说明
- 示例源码
-
class Student
{
}
class Welcome
{
public static void main(String[] args)
{
Student st1 = new Student();
Student st2 = new Student();
if(st1.equals(st2))
{
System.out.println("st1和st2是同一个对象");
}
else
{
System.out.println("st1和st2不是同一个对象");
}
}
}
三、单例模式下的对象比较
- 示例源码
class Student
{
private static Student s = new Student();
private Student()
{
}
public static Student test()
{
return s;
}
}
class Welcome
{
public static void main(String[] args)
{
Student st1 = Student.test();
Student st2 = Student.test();
if(st1.equals(st2))
{
System.out.println("st1和st2是同一个对象");
}
else
{
System.out.println("st1和st2不是同一个对象");
}
}
}
如有错误,欢迎指正!