ホームページ > Java > &#&はじめる > Java のクラスとオブジェクトの詳細な紹介

Java のクラスとオブジェクトの詳細な紹介

王林
リリース: 2019-11-30 14:36:27
転載
2373 人が閲覧しました

Java のクラスとオブジェクトの詳細な紹介

クラスとオブジェクト

オブジェクトは、現実世界では明確に識別できるエンティティを表すことはわかっています (すべてがオブジェクトです)。各オブジェクトには、独自のアイデンティティ、ステータス、動作があります。

クラスとは、同様の特性や動作を持つものの総称です。同じタイプのオブジェクトを定義するには、共通クラスを使用します。クラスは、オブジェクトのデータ フィールドの内容とそのメソッドの動作を定義するテンプレート、ブループリント、またはコントラクトです。

オブジェクトはクラスのインスタンスであり、1 つのクラスから複数のインスタンスを作成できます。

注: main 関数はオブジェクトを作成する必要がなく、(JVM によって) 直接呼び出すことができます。

java関連ビデオチュートリアル: java学習ビデオ

クラスの分類

メインクラス: 主に担当するクラスプログラム Operation

Entity クラス: 主に物事の記述を担当します

Tool クラス: 通常、オブジェクトは作成されず、関数はクラス (静的) を介して直接呼び出されます (静的)

以下は私たちがよく使うものです いくつかのよく知られたツール クラス:

Math.abs() Math.random()
Arrays.toString();
System.out.println();
ログイン後にコピー

オブジェクトとクラスの関係:

クラスはオブジェクトの定義であり、オブジェクトはクラスから作成されました。たとえば、dog はすべての犬の総称であるクラスであり、husky は犬クラスのエンティティ オブジェクトです。

クラスの定義方法

主にクラスの特性と動作を定義します

機能:変数

動作:関数

犬のクラスを定義します。その特徴には名前、性別、年齢、身長、体重、毛色が含まれます。保存用に 6 つのメンバー変数を定義します。行動には食事と睡眠が含まれます。それを実装する 2 つのメンバー関数を定義します。

class Dog{
    //直接定义在类中的变量 成员变量
    姓名 String name;
    性别 String sex;
    年龄 int age;
    身高 double heigth;
    体重 double weight;
    毛色 String color;
    
    //成员函数(非static函数)
    吃   public void eat(){... return;}
    睡   public void sleep(){... return;}
}
ログイン後にコピー

特定のオブジェクトの作成:

public class Mian{
    public static void main(String[] args) {
        Dog Huskies=new Dog();
    }
}
ログイン後にコピー

オブジェクト作成のプロセス

1. main 関数はスタックを進めます

2、ステートメントの右側で new Dog() を実行し、ヒープ メモリにスペースを空け、アドレスをランダムに割り当てます

3. オブジェクト空間にメンバ変数用のスペースを作成し、初期化しますデフォルトでメンバー変数を取得し、メンバー関数を作成します (オブジェクト空間にもスタック上にもありませんが、スタック上で呼び出されます)

4. 関数スタックにローカル変数を作成し、そのアドレスを格納します。ヒープメモリ上のオブジェクト

ローカル変数とメンバ変数の違い

##違い1: 定義場所の違い##メンバー変数はクラスで定義され、ローカル変数は In メソッドまたはステートメントで定義されます。

違い 2: メモリ内の異なる場所

メンバー変数は、次のオブジェクトに格納されます。

違い 3: 宣言サイクルの違い

メンバー変数は、オブジェクトが出現するときにヒープに現れ、ヒープから消えます。ローカル変数は、メソッドの実行時にスタックに表示され、メソッドがスタックをポップすると消えます

違い 4: 初期化の違い

メンバー変数はヒープ メモリ内にあり、デフォルトの初期化値があり、ローカル変数にはデフォルトの初期化値がありません。使用する前に手動で値を割り当てる必要があります。

java 関連記事チュートリアルの共有:

Java ゼロベース入門

#

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

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