【JAVA】Object类与抽象类
在Java中,Object类是所有类的根级父类。每一个类,用或不用明确的extends关键字,都隐式地继承了Object类。这就是说,你可以在任何类中使用Object类的方法。
Object类有以下方法:
- equals(Object obj):判断另一个对象是否同此对象“相等”。
- hashCode():返回此对象的哈希码值。
- toString():返回此对象的字符串表示。
- clone():克隆此对象。
- finalize():当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
Object类是不完全的,在实际的编程中,我们通常需要为特定的类定义更多的功能。例如,定义一个名为"Person"的类,它有"name"和"age"属性,我们可能会添加一个方法来打印这些属性。这就是抽象类的用武之地。
抽象类是为了继承而设计的。它们的主要目的是用作创建继承层级结构的基础。抽象类不能被实例化,只能被用作子类的超类。子类继承抽象类后,必须实现抽象类中定义的抽象方法。
以下是一个抽象类和一个继承该抽象类的具体类的简单例子:
abstract class Person {
protected String name;
protected int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public abstract void printPerson();
}
class Employee extends Person {
private String jobTitle;
public Employee(String name, int age, String jobTitle) {
super(name, age);
this.jobTitle = jobTitle;
}
@Override
public void printPerson() {
System.out.println("Name: " + name + ", Age: " + age + ", Job Title: " + jobTitle);
}
}
public class Main {
public static void main(String[] args) {
Person person = new Employee("John", 30, "Developer");
person.printPerson();
}
}
在这个例子中,Person类是一个抽象类,它定义了一个抽象方法printPerson()。Employee类是一个具体类,它实现了Person类中的printPerson()方法。在main方法中,我们创建了一个Employee对象并调用了它的printPerson()方法,这将打印出"John"的"Age"和"Job Title"。
评论已关闭