在Java中,Object和Class是兩個極其重要的概念,但它們具有不同的含義和用途。
Object是Java中所有類的超類。它是一個通用的對象,可以表示任何種類的數據。Object類有一些常用的方法,比如toString()、hashCode()和equals(),這些方法是所有Java對象都具有的,因為它們都是從Object類繼承而來的。
public class MyClass { private String name; private int age; public MyClass(String name, int age) { this.name = name; this.age = age; } //override toString() method @Override public String toString() { return "MyClass{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
Class是Java中描述類的一個類,它包含有關類的信息,如類的名稱、超類、字段和方法。在Java中,每個類都有一個對應的Class對象,可以通過該類的.class語法或者Class.forName()方法來獲取。
public class Main { public static void main(String[] args) throws ClassNotFoundException { MyClass obj = new MyClass("Tom", 18); Class cls = obj.getClass(); //output: class MyClass System.out.println(cls); Class cls2 = MyClass.class; //output: true System.out.println(cls.equals(cls2)); Class cls3 = Class.forName("MyClass"); //output: true System.out.println(cls.equals(cls3)); } }
總之,Object和Class都是Java中非常重要的概念,但它們的作用和用途是不同的。Object是Java中所有類的超類,用于表示通用的數據對象;而Class是Java中描述類的類,用于包含類的信息。