`getClass()`方法在Java中是一個Object類的方法,用於返回當前對象的運行時類。這個方法的主要用途包括:
獲取對象的類型類。在Java中,一切都是對象,包括類型本身。`getClass()`方法允許你獲取一個實例的類型類,即Class類的實例。類型類代表了一個特定類型的類。例如,對於一個對象`a`,`a.getClass()`將返回代表`A`類型的`Class`對象。這可以與`A.class`進行比較,以確認類型的一致性。
獲取類型信息。通過類型類,可以調用其方法以獲取類型的詳細信息,如`getName()`獲取類型的全稱名稱,`getSuperClass()`獲取該類型的直接父類等。
例如,對於以下代碼:
```java
Car car = new Car();
Class> carClass = car.getClass();
System.out.println(carClass);
```
運行結果將是`Car`類的位元組碼檔案對象,即`class main.Car`。
需要注意的是,即使同一個類創建了不同的對象,這些對象的位元組碼檔案對象是相同的。這意味著,對於兩個不同的對象`obj1`和`obj2`,如果它們是同一類的實例,那麼`obj1.getClass()`和`obj2.getClass()`將返回相同的`Class`對象。
此外,重寫`toString()`方法可以提供更友好的對象表示,而不是默認的類名和哈希碼的組合。