對象:屬性+方法
類是指:描述一種事物的定義,是個抽象的概念
實例指:該種事物的一個具體的個體,是具體的東西
聯系
類是現實世界或思維世界中的實體在計算機中的反映,它將數據以及這些數據上的操作封裝在一起。
類對象的關系
類是對象的抽象,而對象是類的具體實例。類是抽象的,不占用內存,而對象是具體的,占用存儲空間。類是用於創建對象的藍圖,它是一個定義包括在特定類型的對象中的方法和變量的軟件模板。
打個比方:
“人”是一個類。“張三”是人類的一個具體例子
在編程時也是同樣的道理,你先自己定義一個“類”,當你需要用時,用“類”的定義來創造一個具體的例子。
用類的定義來創建一個實例,就叫做類的實例化。
舉個很簡單的例子,你創建了一個老虎的類,老虎那么多,你咋知道是哪只老虎,等你實例化,就定位到某只老虎身上了。這只老虎就有了老虎的共同屬性,像體重啊,身長啊,顏色啊。那些屬性的屬性值就是這只老虎的特征。
過程
Person p = new Person();
1,JVM會去讀取指定路徑下的Person.class文件,並加載進內存,
並會先加載Person的父類(如果有直接父類的情況下)
2,在堆內存中開辟空間,分配地址。
3,並在對象空間中,對對象中的屬性進行默認初始化
4,調用對應的構造函數,進行初始化
5,在構造函數中,第一行會先調用父類中的構造函數進行初始化。
6,父類初始化完畢后,再對子類的屬性,進行顯示初始化。
7,指定構造函數的特定初始化
8,初始化完畢后,將堆內存中的地址值賦給引用變量。