1、在 Java 語言中 ,【 對象 ( object ) 】 與 【 實例 ( instance ) 】都是指通過 "new 構造()" 方式創建出來的 對象。
[類] 是 某一種事物的抽象,比如 人 、動物 、西瓜 、候
[對象] 是 某種事物的一個具體的 [個體],比如 一個名字叫做張三豐的人 、你女朋友給你買的西瓜 、一個敢於大鬧天宮的猴子
2、字段( field )本質上就是一個 [變量] ,是屬於類中的一個成員( member ),因此也稱作 【成員變量】
某一種事物的每個個體都具有的特征可以使用類中的 字段 來表示,比如 人 的 姓名、年齡、性別 等
3、屬於 [個體] 的字段被稱作 【實例變量】 ( 也可以稱作 實例字段 )
在一個類中可以聲明屬於其實例的字段,比如: 在 Person 類中聲明的 name 變量
實例變量 是沒有 static 修飾符修飾的字段,它們是伴隨實例存在的
當一個對象被實例化后,實例變量就已經存在,直到該對象被回收 ( 可能聽不懂,先混個眼熟 )
實例變量 通過 "對象名.字段名稱" 來訪問 ,比如: first.name 、second.name
4、屬於 [類] 的字段被稱作 【類變量】( 也稱作 類字段 或者 靜態變量 )
在一個類中可以聲明屬於該類的字段,比如: 在 Person 類中聲明的 home 變量
類變量是被 static 修飾符修飾的字段,它們是伴隨類存在的
當一個類被加載成功后,類變量就已經存在,直到該類被卸載時 ( 可能聽不懂,先混個眼熟 )
類變量 可以通過 "類名.字段名稱" 來訪問,比如 Person.home 【推薦使用】
類變量 也可以通過 "對象名.字段名稱" 來訪問,比如 first.home 、second.home 【不建議使用】
public class Person { // field public String name ; public int age ; public char gender ; public boolean married ; public static String home = "地球" ; // 被 static 修飾的字段是屬於類的,被稱作 類變量 // method public void introduce(){ System.out.println( "大家好,我叫 " + name + ",今年 " + age + " 歲,目前" + ( married ? "已婚" : "未婚" ) ); } public static void main( String[] args ) { // 類型 變量名 = new 類名() ; Person first = new Person(); // 使用 new Person() 在堆內存中創建對象的過程被稱作實例化 first.name = "楊過" ; first.age = 18 ; first.gender = '男' ; first.married = false ; first.introduce(); System.out.println( first.home ); System.out.println( Person.home ); Person second = new Person(); second.name = "歐陽鋒" ; second.age = 50 ; second.gender = '男' ; second.married = true ; second.introduce(); System.out.println( second.home ); System.out.println( Person.home ); System.out.println( "~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~" ); Person.home = "Earth" ; System.out.println( first.home ); System.out.println( second.home ); System.out.println( Person.home ); } }