#クラスとオブジェクト
クラスとオブジェクトの関係。 - クラスの概要
-
-
##public && private
- いくつかの提案と概要
- 最後に書きました
-
クラスとオブジェクトの関係。
クラスは実際にはテンプレートです。たとえば、クラスは家の設計図や逆さの型のようなものです。クラスの作成は、図面をデザインしたり、テンプレートを彫刻したりすることに似ています。オブジェクトは完成した家や完成した模型のようなもので、家や模型を建てるにはまず図面とテンプレートが必要になるのは間違いなく、これがクラスとオブジェクトの関係です。
関連する無料学習の推奨事項:
Java 基本チュートリアルクラスの紹介
まずは、Java 内部 クラスはキーワード class によって定義され、クラス内の要素はメンバー属性と呼ばれます。クラス内の関数はメンバー メソッドと呼ばれます。
class Person {
public int age;//成员属性 实例变量
public String name;
public String sex;
public void eat() {//成员方法
System.out.println("吃饭!");
}
public void sleep() {
System.out.println("睡觉!");
}}
次はクラスを定義するものです
class Person {
public String name;
public String sex;
public int age;
//....人的属性}
そして、このクラスを使用してオブジェクトを作成すると、ピリオド
.## を通じてこのオブジェクトのメンバーにアクセスできます。 #、下の図を参照してください。
Person person = new Person();//实例化一个对象
割り当てがない前は、型に対応する値 0 がデフォルトで割り当てられることがわかります。
#型
#対応する 0 値
|
| 整数型
0
##浮動小数点型 |
0.0 |
##文字型 r | /u0000 |
参照型 | null |
注: ここでデフォルト値 0 がある理由は、これらはすべてメンバー変数であり、ローカル変数に属していないため、デフォルト値があるためです。ローカル変数には、ローカル変数を設定する前に独自の値を割り当てる必要があります。に使える。
クラス変数 (静的変数)
いわゆるクラス変数は静的変数であり、キーワード static によって変更され、メソッド領域に格納されます。クラスがロードされています。, したがって、クラス変数はオブジェクトから分離されています。つまり、インスタンス化されたオブジェクトがなくてもクラス変数は使用できます。下の図を参照してください。オブジェクトがない場合でも、クラスを使用できます。 クラス名.変数名
同様に、static によって変更されたメソッドもクラス メソッドであり、静的メソッドとも呼ばれ、クラス変数と同じプロパティを持ちます。スペースはクラスのロード時に割り当てられ、インスタンス化されたオブジェクトに依存せず、
クラス名.関数名()を通じて直接呼び出すことができます。 変数とメソッドが静的でない場合は、使用する前に new キーワードを使用してオブジェクトをインスタンス化する必要があります。
public && privateクラスの定義には多くのアクセス修飾子があり、最も一般的に使用されるのは public と private の 2 つです。名前が示すように、public によって変更された変数は public です。いわゆる public は、直接アクセスできることを意味します。たとえば、public を使用してメンバー変数を変更する場合は、通常どおりに使用でき、オブジェクトのメンバーにはドットを介してアクセスします。しかし、private を使用して変更すると、 private はプライベートであり、現在のクラス
内でのみ使用でき、外部から参照できないため、エラーが報告されます。
他のクラスで使用したい場合は、パブリック インターフェイスを提供し、それを使用する必要のあるクラスに呼び出す必要があります。簡単に言うと、私はパブリック メソッドを作成し、あなたはメソッドにデータを渡します 私は以下のようなメソッドを自分で運用しています これらのメソッドの機能も名前を見れば分かります これらのメソッドを使ってみましょう
パブリック インターフェイスを通じて、プライベート メンバー変数に対して一連の操作を実行できることがわかります。注意深い友人なら、これが setName やその他のメソッドに表示されることに気づくかもしれません。変数名
それでは、これは何でしょうか。これは実際にはキーワードであり、現在のメソッドの参照
を表します。なぜこのキーワードが必要なのでしょうか?それは、変数名が同じ場合、ローカル変数の使用が制限され、次のような状況が発生する可能性があるためです。下図を参照してください。これを削除すると、明らかに名前が初期値になります。これは、ローカル変数が最初に使用されるため、クラス内のメンバー変数に値が代入されないためです。 いくつかの提案と概要
1. クラスを実装するときは、データが漏洩しないように、メンバー変数をできる限りプライベート属性に設定することをお勧めします。直接改ざんされるため、メソッドは必ずしも public である必要はなく、インターフェースも private 属性に設定されますが、実際の状況に応じて決定されます。
2. 変数名とメソッド名にはキャメルケースの命名規則を使用します。名前に慣れるようにしてください。そうでない場合は、他の人がコードの意味を理解できるように、適切な中国語のコメントを付ける必要があります。
#3.静的に変更されたコードとコード ブロックは、コードの実行よりも優先されます4.クラスは複数のオブジェクトを作成できます。理解しやすく、1 つの図面で複数の同一の家を構築できます。たとえば、コミュニティ内の建物は 1 つの図面から構築されます。#5.オブジェクトの場合、コンストラクタ メソッドが呼び出されます。いわゆるコンストラクタ メソッドには名前とクラスがあります。同じ名前のメソッドはパラメータを受け取ることができますが、戻り値の型宣言はありません。それを定義しない場合、コンパイラは自動的にパラメータのないコンストラクタ。定義した場合、コンパイラは自動的に生成しません。また、コンストラクターはオーバーロードもサポートしており、コンストラクターの用途の 1 つは、オブジェクトの作成時に値を代入できることです。
this.name を追加する場合、setname は必要ありません。オブジェクトの作成時にパラメータを直接渡すだけで済みます。他のブロガーは詳細には触れません。 。
最後に書いています
上記は、ブロガーがこの期間中に学んだことです。今日の共有は以上です。記事に不明な点や間違っている点がある場合は、コメントするか、プライベート メッセージを送信してください。指摘してください。ブロガーは時間内に対処します。それでは、このブログはここで終了します。また次のブログでお会いしましょう。
この記事は、https://blog.csdn.net/JunFengYiHan/article/details/116066556
著者: JunFengYiHan
から転載されました。
以上がJavaのクラスとオブジェクトの詳細な説明に焦点を当てます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。