理解java中的字段


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 );
        
    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM