パッケージ
カプセル化とは何ですか?素人の言葉で言えば、それはオブジェクトをカプセル化し、他の人がそれを使用できないようにすることです。Javaのカプセル化とは何ですか?一般的に、私はプライベートを使用してjavaでカプセル化を実装します。
プライベート実装のカプセル化
private / publicの2つのキーワードは、「アクセス制御」を意味します
publicによって変更されたメンバー変数またはメンバーメソッドは、クラスの呼び出し元が直接使用できます。
privateによって変更されたメンバー変数またはメンバーメソッドは、クラスの呼び出し元は使用できません
パブリックを直接使用する
の結果
この種のコードを見てみましょう。(名前をmyNameに変更)したい場合は、コードを大規模に変更する必要があり、メンテナンスコストが高く、エネルギーが消費されます。これを減らすために-私たち自身のコードのスケール変更、私たちはそれをどのように行うべきですか?
プライベートを使用
setNameの値を「ビット」にしたくない場合は、各変更を行わずに、setNameの値を変更するだけで済みます。
知らせ
1.プライベートカプセル化を使用して、プロパティがカプセル化されます!クラス(現在のクラス)内でのみ使用できます!この時点でパブリックgetメソッドとsetメソッドを提供してください! 2.カプセル化の利点は、プロパティをより安全にすることです。
getterおよびsetterメソッド
プライベートカプセル化を使用する場合、プロパティはカプセル化され、クラスでのみ使用できます。この時点でパブリックgetメソッドとsetメソッドを提供してください!
getterメソッドとsetterメソッドをすばやく使用する方法!
工法
コンストラクター:1。メソッド名とクラス名は同じであり、構築メソッドは特殊であり、戻り値はありません。
コンストラクターは何のためにありますか?--"オブジェクトの生成(オブジェクトのインスタンス化)
1.オブジェクトにメモリを割り当てます
2.適切なコンストラクターを呼び出します。(適切:複数のコンストラクターを意味します!)
*注 *1.コンストラクターが実装されていない場合、コンパイラーはデフォルトでパラメーターなしのコンストラクターを生成します *つまり、クラスには、作成しなくても少なくとも1つのコンストラクターがあります。 * 2.現在のクラスに他のコンストラクターがある場合、コンパイラーはパラメーターなしでコンストラクターを生成しません! * 3。コンストラクター間でオーバーロードが発生する可能性があります!
このキーワード
これは現在のオブジェクト参照を表します(現在のオブジェクトではないことに注意し)。これを使用して、オブジェクトのフィールドとメソッドにアクセスできます。
*this3は*を使用します
1.this.dataは、現在のオブジェクトのプロパティを呼び出します
2.this.func()は、現在のオブジェクトのメソッドを呼び出します
3.this()は、現在のオブジェクトの他のコンストラクターを呼び出します*コンストラクターにのみ格納できることに注意してください!!!!
コードブロックを認識する
コードブロックで定義されている位置とキーワードに応じて、次の4つのタイプに分類できます。
通常のコードブロック
建築用ブロック
静的ブロック
同期されたコードブロック
たとえば、インスタンスコードは{}を使用して定義されたコードですが、静的コードはキーワードstatic{}を使用して定義されます
それはどのように呼ばれますか?
main関数mainの新しいオブジェクト
結果の印刷
印刷の順序は、静的コードが最初になり、インスタンスコードが後になり、最後に構築方法であることがわかりました。
これは、コードブロックの実行がシーケンシャルな静的コード-「インスタンスコード-」-「構築メソッド」であることを示しています。
補足説明
toStringメソッド
オブジェクトを文字に変換できます
印刷結果を見てみましょう。toStringメソッドを追加すると、印刷した結果が自動的に文字に変換されます。
toStringメソッドをすばやく使用するにはどうすればよいですか?
これは、プライベートパッケージでsetメソッドとgetメソッドを使用するのと同じです。
匿名オブジェクト
匿名オブジェクトとは何ですか?
名前のないオブジェクトで、一度しか使用できません!
コンテンツのハイライトの概要
1.クラスは無数のオブジェクトを生成でき、クラスはテンプレートであり、オブジェクトは具象インスタンスです。
2.クラスで定義された属性は、クラス属性とオブジェクト属性のいくつかのカテゴリに大まかに分類されます。その中で、静的に変更されたデータ属性はクラス属性と呼ばれ、静的に変更されたメソッドはクラスメソッドと呼ばれます。オブジェクトに依存せず、クラス名を使用するだけで属性を呼び出すことができるという特徴があります。またはメソッド。
3.静的コードブロックは最初のインスタンスコードブロックを実行し、インスタンスコードブロックは最初にコンストラクターを実行します。
4.このキーワードは、現在のオブジェクトへの参照を表します。現在のオブジェクトではありません。
Xiaoshengは才能がなく、そのようなラフな記事しか書くことができません。何か提案があれば、聞いてください!!!