Java基本レビューレコード(配列、オブジェクト、例外)
配列
配列定義
配列は、同じタイプのデータの順序付けられたコレクションです。たとえば、バスケットボールチームは配列であり、選手はユニフォームに数字を持っています。これはインデックスに相当します。特定のプレーヤーを特定の番号で確認します。配列のインデックスは0から始まります。
配列作成ステートメント
1.最初に、配列変数を宣言する必要があります以下は、配列変数を宣言するための構文です。
dataType[] arrayRefVar; // 使用首选
或
dateType arrayRefVar[]; // 一般不用
int[] a; //创建变量名为a,数组类型为int的数组
int a[];
2. Java言語はnew演算子を使用して配列を作成します構文は次のとおりです:
dataType[] arrayRefVar = new dataTye[arraySize];
int[] a = new int[5]; // 创建长度为5的int类型数组
3.配列要素はインデックスによってアクセスされ、配列インデックスは0から始まります。
4.配列の長さを取得します。
array.length
アレイの基本的な特性
1.長さが決定されます。一度作成すると、サイズと長さは変更できません。
2.同じ配列の要素タイプは同じでなければなりません。
3.配列のタイプは、任意の配列タイプにすることができます。
4. 配列自体のオブジェクトはヒープ内にあります。
メモリ分析
1.メモリは、ヒープ、スタック、メソッド領域の3つの部分に分かれています
2.ヒープ:新しいオブジェクトと配列を格納する
3.基本的な変数の型とアプリケーションオブジェクトの変数を保存する
4.メソッド領域:すべてのクラスおよび静的変数を含むすべてのスレッドで共有できます
配列を生成する3つのステップ
1.配列を宣言する
2.アレイを作成する
3.初期化
スパース配列
オブジェクト指向
Javaコアアイデアオブジェクト指向(OOP)、オブジェクト指向:OO。
オブジェクト指向とは
オブジェクト指向とプロセス指向
1.プロセス指向の思考(マイクロ操作):
基礎、カットレンガにカットレンガ部門への第二段階、セメントキャップを引っ張るために会社を固めるための第三の工程を掘るためにマシンを掘るための最初のステップを構築する次のようなステップの一つと計画手配を、行います。各ステップは詳細に計画する必要があります。
2.オブジェクト指向の考え方(マクロ制御):
分類された思考モードと抽象化モードが必要です。思考は、まずこれらのカテゴリを解決し、次にこれらのカテゴリを個別に考え、最後に特定のカテゴリの詳細についてプロセス指向の思考を行う必要があります。例:チーフデザイナーが建物を設計する、この建物の平方メートル数、基礎の深さ、各家の構造などについて。建設を始める前に、建物全体の建設方法と、誰に割り当てるかを考えてください。
抽象化
たとえば、学生には学生番号やクラスなどの情報があり、それらは抽象化することができ、学生のクラスには学生番号とクラスがあります。
たとえば、誰もが性別や名前などの情報を持っている必要があります。抽象化すると、人間のクラスが持つことができる属性は、性別と名前です。
3つの特徴
カプセル化:たとえば、飲用噴水の水は、空気中のほこりとの接触による汚染を防ぐためにカプセル化されており、使用のためのインターフェースを提供します。
継承:たとえば、息子は父親のすべてのもの(プロパティ)を継承します。
ポリモーフィズム:たとえば、同じことが学習です。いじめっ子を学んでいる人もいれば、スカムを学んでいる人もいます。同じ振る舞いには異なる形があります。
クラスとオブジェクト
クラスは特定のカテゴリの説明であり、オブジェクトは特定のものです。
など:人の説明には、性別、名前、年齢があります。この情報を通じて、誰もが共通して持っているいくつかの属性しか知ることができません。
対象:ジェンダー男性、周龍名、18歳。この情報を使用して、それが誰であるかを判別できます。
コンストラクター
1.コンストラクターでは、メソッド名がクラス名と同じであり、戻り値の型もvoidもないことが必要です。
2.機能:初期値を割り当てます。コンストラクターで初期値を設定できます。
3.一般的なシステムは、デフォルトでパラメーターのない構造を生成します。
4.パラメトリック構築一般に、newが入力パラメーターの場合、パラメトリック構築が使用されます。
メモリ分析
パッケージ
1.包装は高い凝集性と低い結合を追求します。
2.プライベートプロパティ、取得/設定
コード
1.カプセル化クラスでプライベート変更属性を使用した後、データ値はオブジェクトポイント属性を介して外部から取得できません。
2.カプセル化後にgetメソッドとsetメソッドが提供されますgetメソッドはカプセル化クラスの値を取得し、setメソッドはカプセル化クラスの値を設定します。
3.機能:setメソッドで範囲を設定:たとえば、人の年齢が1〜120歳を超えている場合は、setメソッドで設定できますが、この範囲を超えると間違っています。
public void setAge(int age) {
if (120 >= age && age > 0) {
this.age = age;
} else {
System.out.println("输入错误:");
}
}
カプセル化の意味
1.プログラムのセキュリティを向上させ、データを保護する
2.隠しコードの実装の詳細
3.インターフェースに同意する
4.システムの保守性が向上
相続
1.継承の本質は、クラスの特定のバッチを抽象化して、現実世界のより良いモデリングを実現することです
2. extendsは「拡張」を意味します。サブクラスは親クラスの拡張です。
3. Javaのクラスには単一継承のみがあり、多重継承はありません。
4.プライベートは継承できません
スーパーとこれ
1、スーパーは継承された親クラスを指します
2.これはクラス自体を指します
注意点:
スーパーに関する注意:
1.親クラスのコンストラクターをスーパーコールします。これはコンストラクターの最初でなければなりません。
2.スーパーは、サブクラスのメソッドまたはコンストラクターにのみ出現する必要があります。
3. Superとこれは同時にコンストラクタを呼び出すことはできません。
パラメータ化された構造を定義することで、パラメータのない構造も定義する必要があります。そうしないと、エラーが報告されます。
メソッドの書き換え
メソッドの書き換え:継承関係が必要です。サブクラスは親クラスの関数を書き換えます。
1.メソッド名は同じである必要があります
2.パラメータリストは同じである必要があります
3.修飾子:スコープは拡張できますが、縮小することはできません。
4.スローされた例外:スコープは縮小できますが、拡張できません; classNotFoundException->例外(大)
書き換えの理由
1.親クラス、子クラスの機能は必ずしも必要ではなく、満たされない場合もあります。
オーバーライドできないメソッド
1.静的メソッドはクラスに属し、インスタンスには属しません。
2.最終定数;
3.プライベートメソッド。
ポリモーフィズム
存在の条件
1.継承関係があります
2.サブクラスは親クラスのメソッドをオーバーライドします
3.親クラス参照は子クラスオブジェクトを指します
コード:
1.親クラス参照は子クラスを指します
2.サブクラスによって書き換えられたメソッドを呼び出すことができ、サブクラスのメソッドが呼び出されます
3.サブクラスの特定のメソッドを呼び出せない
4.親クラスで定義されたメソッドを呼び出すことができます
instanceofと型変換
instanceof(型変換)オブジェクトがどの型であるかを判別するための参照型
instanceofは、親子関係がなくても、親子関係があれば問題ありません。
抽象クラス
1.抽象クラスで変更されたクラスが抽象クラスです。
public abstract class Action(){...}
2.このメソッドを定義しましたが、実装したくありません。抽象メソッドを使用できます。抽象メソッド。メソッド名のみ。達成するメソッドはありません。
public abstract void doSomething();
3.抽象クラスのすべてのメソッドはそのサブクラスを継承し、サブクラスは抽象クラスのメソッドを実装する必要があります
4.機能:開発効率を向上させます。たとえば、ゲームキャラクターを作成するには、最初から作成することはできません。ゲーム内のすべてのヒーローの特性に割り当てる必要があります。すべてのヒーローの特徴を抽象化します。
静的
1.静的変数は共有することができ、直接呼び出すことができます。また、新しい後にのみ使用できます。
実行順序:
1.最初に静的コードブロックを実行します
2.次に、匿名コードブロックを実行します。
3.次に、コンストラクタを実行します
インターフェースと実装の定義
インナークラス
知識の拡大
異常な
1.異常なアーキテクチャ、最上位レイヤーはスロー可能、
エラー:仮想マシンの操作エラーは通常、エグゼキュータとは無関係です。
例外:通常、個人的なコーディングの問題が原因です。
一般的な間違いは次のとおりです。
例外処理のための5つのキーワード
コード
例外を定義
この研究記録は、主に基礎を持つ学生の基礎を強化し、確認するために使用されます。
ビデオを見ることを学ぶことは:クレイジー神はJavaゼロベースの学習を言った