Javaのクラスとは何ですか、オブジェクトとは何ですか?

王林
リリース: 2019-12-04 15:24:03
オリジナル
14003 人が閲覧しました

Javaのクラスとは何ですか、オブジェクトとは何ですか?

クラスは、特定の共通の特性を持つエンティティのコレクションであり、同じ特性を持つエンティティを抽象化した抽象データ型です。オブジェクト指向プログラミング言語では、クラスは、あるタイプの「物」のプロパティと動作を抽象化したものです。

オブジェクトは現実世界のエンティティです。オブジェクトとエンティティの間には 1 対 1 の対応関係があります。これは、現実世界のすべてのエンティティがオブジェクトであることを意味し、オブジェクトは特定の概念です。

クラスはオブジェクトのコレクションであり、オブジェクトはクラスのインスタンスです。オブジェクトは新しい className を通じて生成され、クラス メソッドとクラス コンストラクターを呼び出すために使用されます。

推奨 Java 関連ビデオ チュートリアル: Java オンライン学習

例を挙げます。たとえば、人 (人) がクラスであり、特定の人は「Zhang San」です。 「人間」クラスのオブジェクトであり、「名前、身長、体重」などの情報がオブジェクトの属性、「食べる、着替える」などの人間の動作がオブジェクトのメソッドとなります。

つまり、クラスは同じ特性を持つもののコレクションであり、オブジェクトはクラスの特定のインスタンスです。

同時に、クラスには多態性と継承性があり、たとえば「人間」を「男性と女性」、「老人と子供」に分けると、「男性と女性」はそのサブクラスになります。 「人間」など。

Java 言語におけるクラス person の定義は、次のとおりです。

public class Person {
   private String name; //属性:姓名
   private int height; //属性:身高
   private int weight; //属性:体重
  
  
   public Person() {}
   public Person(String name, int height, int weight) {
   this.name = name;
   this.height = height;
   this.weight = weight;
   }
  
   //... some methods...
  
   public void doSth() { //行为:
   //... do something
   }
  }
ログイン後にコピー

オブジェクトは、クラスの特定の個人です。たとえば、Zhang San は person クラスのオブジェクトです。無数の Person オブジェクトが存在する可能性があります (地球上に何十億もの人がいるのと同じです)。

メソッドは、「Zhang San. Dress()」などのオブジェクトによって呼び出されます。static で変更されたメソッドは、静的メソッドまたは共有メソッドと呼ばれます。これらは通常、クラス名を使用して直接呼び出されます。

Java では、new を使用してオブジェクトを作成できます。例:

Person zhangsan = new Person("Zhangsan", 170, 65); //创建对象:“Zhangshan”
zhangsan.doSth(); //对象行为:对象自己发出行为
ログイン後にコピー

クラスとオブジェクトの違い

1. クラスは抽象概念です。リアルタイム/空間には存在しません。クラスはすべてのオブジェクトの抽象化を定義するだけです。プロパティと行動。クラス「person」と同様に、多くの個人を含めることができますが、それ自体は現実世界には存在しません。

2. オブジェクトはクラスの具体的なインスタンスであり、実際のものです。

3. クラスは静的な概念であり、クラス自体はデータを持ちません。クラスに対してオブジェクトが作成されない場合、クラス自体はメモリ空間に存在しません。

4. オブジェクトは動的な概念です。各オブジェクトには、他のオブジェクトとは異なる独自の固有のプロパティと動作があります。オブジェクトのプロパティは、それ自体の動作の結果として変化することがあります。

おすすめの関連記事チュートリアル: Java 開発の入門

以上がJavaのクラスとは何ですか、オブジェクトとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート