Object.getClass()方法大家都很熟悉,在jdk1.8 API中的解釋如下:
劃重點:getClass()返回的是此Object的運行時類,即類對象的運行時類的Class對象。
內容寫得文縐縐的,直接上代碼看下:
package com.study;
public class test {
public static void main(String[] args) {
Person person = new Person(10, 1234);
System.out.println(person.getClass());
}
}
class Person{
int age;
int name;
public Person(int age, int name) {
this.age = age;
this.name = name;
}
}
可以看到上述紅框輸出,這是就知道“類對象的運行時類的Class對象”是什麼意思了。
需要知道的是,此處的Person類是內部類,但是java在編譯的時候,會把所有的類都生成一個class文件,包括匿名類(匿名類在編譯時會自動給個名稱),這就是爲什麼結果顯示結構是com.study.Person