📄 person.java
字号:
package class_object;
/*
* Object类是所有Java类的最高层次父类,该类提供了
* 面向对象编程技术的基本机制。重要方法包括:
* hashCode(), toString(), equals(), finalize(), clone(),
* wait(), notify(), notifyAll()
*/
public class Person implements Cloneable{
private int age;
public Person(int age){
this.age=age;
}
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
//重写toString()方法
public String toString(){
return "This is an instance of Person, age="+age;
}
//重写equals()方法
public boolean equals(Object o){
Person p=(Person) o;
return(this.age==p.getAge());
}
//重写finalize()方法
public void finalize(){
System.err.println("Garbage is collected.");
}
public static void main(String[] args) {
Person p1=new Person(20);
Person p2=new Person(20);
//测试hashCode()方法
System.out.println("1、测试hashCode()方法");
int handle1=p1.hashCode();
System.out.println(handle1);
System.out.println(Integer.toHexString(handle1));
System.out.println(p1);
System.out.println("-------------------");
System.out.println(p2.hashCode());
/*
* 测试toString()方法,如果没有重写该方法的话,
*那么下面两个语句的输出结果将是“类名@哈希码”
*/
System.out.println("2、测试toString()方法");
System.out.println(p1);
System.out.println(p1.toString());
/*
* 测试equals()方法,如果没有重写该方法的话,
*那么下面语句的输出结果将会是false。
*/
System.out.println("3、测试equals()方法");
System.out.println(p1.equals(p2));
/*
* 测试finalize()方法,如果没有重写该方法的话,
* 那么System.gc()语句之后不会有什么信息输出。
*/
System.out.println("4、测试finalize()方法");
p2=null;
System.gc();
/*
* 测试clone()方法,必须实现Cloneable接口
*/
System.out.println("5、测试clone()方法");
try {
System.out.println(p1.clone()==p1);
System.out.println(p1.clone().getClass()==p1.getClass());
System.out.println(p1.clone().equals(p1));
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -