[Java/Kotlin] Primitive vs Reference

1833 ワード

Javaには基本型と参考型があります.
異なる特徴を持ち、それをよく知ってこそ、適切に使用することができる.

基本タイプ(Primitive Type)

  • 変数に値自体を格納し、スタック領域で生成します.
  • を使用する前に、初期化しないと、資料型に合致するデフォルト値に入ると宣言する必要があります.
  • オペレーティングシステムによれば、資料の長さは変わらない.
  • はオブジェクトタイプではなく、NULL値にはできません.
  • タイプ:整数(int,byte,short,long)、実数(float,double)、文字(char)、論理(boolean)
  • 参照タイプ

  • 基本型を除き、直線を参照型と呼ぶ.
  • メモリには、オブジェクトが存在するアドレスが格納され、スタック領域に格納されます.
  • 値は
  • nullまたはアドレスです.
  • クラス型、インターフェース型、配列型があります.
  • 参照と参照シェイプ変数が異なります.
    リファレンス
  • 参照型変数ではなく、参照値(参照値、ハッシュコード)です.
  • A x = new A();作成時にnewが返す参照(reference)はnew A()である.を返します.
  • Peopleクラスがあるって言ったでしょ
    public class People { 
    	public int height; 
        	public int age; 
    }
    オブジェクトの参照変数を宣言し、メモリを作成する前にnullに初期化します.
    People sungHo = null; 
    People chanHo = null; 
    System.out.println("People의 변수 sungHo의 값은 : " + sungHo); 
    System.out.println("People의 변수 chanHo의 값은 : " + chanHo);
    new演算子を使用してメモリを生成します.
    People sungHo = null; 
    People chanHo = null; 
    
    sungHo = new People(); 
    chanHo = new People(); 
    
    System.out.println("People의 변수 sungHo의 값은 : " + sungHo); 
    System.out.println("People의 변수 chanHo의 값은 : " + chanHo);

    メモリを作成すると、参照値が作成され、内部インデックステーブルにアドレスがマッピングされます.
    このようにして生成された参照値は、参照型変数sungho、changhoに割り当てられる.
    ここで,参照型変数はSungHo,ChangHoである.
    参照は、上から出力されたnew People()の戻り値です.

    Reference

  • Java変数の基本型と参照型
  • JVMメモリ領域