ホームページ >Java >&#&チュートリアル >Java クラスとオブジェクトの分析例
クラス (クラス) は、オブジェクト指向プログラミング (OOP、オブジェクト指向プログラミング) における情報のカプセル化の基礎です。クラスはユーザー定義の参照データ型であり、クラス型とも呼ばれます。各クラスには、データの説明と、データを操作したりメッセージを送信したりするための一連の関数が含まれています。クラスのインスタンスはオブジェクトと呼ばれます。
クラスの本質は、byte、short、int、char に似た参照データ型です。 、long、float、double などの基本的なデータ型との違いは、複雑なデータ型であることです。その本質はデータではなくデータ型であるため、メモリ上に存在せず、直接操作することはできず、オブジェクトとしてインスタンス化された場合にのみ操作可能になります。
Java のクラスは実際には C 言語の構造と非常によく似ていることがわかりますが、それらの違いは何でしょうか?
1. パックされたオブジェクトは異なります
C 言語の構造はデータのパッケージ化です。全体的な処理を容易にするために、概念的に関連したデータをまとめてパックします。外部の世界はこれらのデータを自由に読み書きできます
Java オブジェクトはデータまたは責任をパッケージ化できます
2. 保存場所は異なります
C 言語構造は次のようになりますスタックまたはヒープに保存される
Java オブジェクトはヒープ上にのみ存在できます
クラス メンバーには次のものを含めることができます: フィールド、メソッド、コード ブロック、内部クラスとインターフェイスなど。
クラスはテンプレートであり、クラスのインスタンス化はこのテンプレートを通じてオブジェクトを作成することであるため、明確に理解できます (テンプレートは無数のオブジェクトを作成できます)。
クラスの宣言は、実際には新しい型、参照型をカスタマイズすることと同じです。
基本形式:
class クラス名{
フィールド (メンバー変数/プロパティ);
メソッド (メンバー メソッド);
}
ここでのクラスはクラスのキーワードです
要素クラス内: 属性 (クラス内、メソッド外)
クラス内のメソッド: メンバー メソッド
次の例:
public class Dog { public String name; public int age; public void bark() { System.out.println("汪汪"); } }
Passed 上記のコードは、 name と age の 2 つの属性を持つ Dog クラス。この動作は
属性の前の public はアクセス修飾子です
メンバー メソッドの前に static## を追加しないでください
#インスタンス化されたオブジェクト、メンバーはデフォルト値のルールに従いますデフォルト値のルール: 0 の変形Special:参照タイプ: null boolean :false 参照。メンバ変数は、メンバ変数にアクセスするために使用されます。通常のメソッドは、オブジェクト参照を通じて呼び出されます。メソッド名は、静的プロパティ(静的メンバ変数)の呼び出しに使用されます。静的変更を追加します次のコード:class Dog { public String name; public int age; public boolean are; public static int a; public void bark() { System.out.println("汪汪"); } } public class Practice { public static void main(String[] args) { Dog dog = new Dog(); // 实例化一个对象 System.out.println(dog.are); // 通过.来访问 } }
class Dog { public String name; public int age; public boolean are; public static int a; // 静态属性 public void bark() { System.out.println("汪汪"); } }エラー例:
System.out.println(Dog.a);クラスの静的プロパティにアクセスするためにオブジェクトは必要ありません。直接アクセスできます注: 静的プロパティはメソッド領域に存在します 新しいオブジェクトの数に関係なく、静的プロパティのコピーは 1 つだけあります。
System.out.println(Dog.a);このコードには Dog クラスがあり、2 つのコンストラクターがあり、1 つはパラメーターなし、もう 1 つはパラメーターありです。new を通じてオブジェクトを作成するときは、次を使用します。パラメータを使用して構築した後、出力された結果を確認できます
構築メソッドはオーバーロードもサポートしています
this の役割
為什麼this不是對象,而是引用:
我們要知道,建構方法是用來建立物件的,那麼在呼叫建構方法建立物件的過程中,這個物件還是不存在的,哪來的物件之說
因此我們可以透過this去存取屬性、成員方法、建構方法(呼叫建構方法時,只能放在第一行,只能在建構方法裡面寫,只能用一次)
以上がJava クラスとオブジェクトの分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。