Javaの学習の第3週

  1. オーバーロード(過負荷)の方法:
    クラスで定義された同じ名前の1.1メソッド複数。
    1.2要件:
    1)同じメソッドの名前
    。2)異なるパラメータリスト
    3)とアクセス修飾子は、値に関係なく返される。
    1.3の利点:
    1)差シールドユーザの利便性を使用します。
    あなたは、渡された異なるパラメータに基づいて異なるメソッドを呼び出すことができます

  2. コンストラクタ(コンストラクタ):
    2.1概念:クラス特定の方法は、主にオブジェクトを作成するために使用されます。初期化オブジェクトの
    2.2の特徴:
    1)場合を含むクラス名()と同じ名前を付けます。
    2)いいえの戻り値の型。
    あなたがオブジェクト(新しいオブジェクト)を作成する場合3)、トリガの呼び出しはないの期間を通じて手動コールの形で、コンストラクタです。
    2.3注意:ディスプレイはクラスのコンストラクタで定義されていない場合は、コンパイラは引数なしでデフォルトコンストラクタを提供します。
    2.4注:パラメータを手動でコンストラクタで追加されている場合は、何の言及はもはやデフォルトコンストラクタによって提供されていない、自分の需要を追加するには、組み合わせることができます。(推奨、手動で引数なしでコンストラクタを追加する必要があります)
    のオーバーロードのルールや方法として、2.5コンストラクタもオーバーロードできます

    1. このキーワード:
      3.1これは「現在のインスタンス」を表し、このオブジェクトへのどのポイントどのオブジェクトと現在のオブジェクトテンプレート、テンプレートサービスです。
      3.2この最初の使用:現在のクラスインスタンス属性を呼び出し、例示的な方法は。例えば:this.name、this.run()
      3.3この第2の使用:このクラスのコンストラクタ呼び出しの他の方法。たとえば、次のようにこの()、この(引数)。注:あなたが最初のコンストラクタで行しなければならない、とコンストラクタで使用する必要があります。
      4.オブジェクトを作成するプロセス
      開放するメモリ空間に
      各属性のために与えられた初期値
      コードは、コンストラクタで実行される
      [変数アドレスに割り当てオブジェクト]
      5.パッケージ:
    2. コンセプト:内部実装の詳細として隠されたオブジェクト、およびアクセス制御権限は、オブジェクトを変更します。
    3. このクラスの目に見える効果への専用アクセス修飾子、変更属性、。
    4. 取得/設定されたチャネル、方法をフィルタリング内部データ私有財産への唯一の外部からのアクセスです。(フィルタ条件設定方法で添加することができます)
    5. パブリック・アクセス・メソッドは、データを正しく入力できるようにします。
      公共の行動の5.データ民営化
  3. 継承:
    継承6.1プログラム、それは贈り物であるかのクラスの特性と行動の間で取得します。
    関係を満たす必要があります6.2の間とクラスのクラス「です」。
    選択した親クラス6.3:直接の親に近い機能を細かく、より多くの一致点、。
    6.4抽象親クラス:プログラムは具象クラス、抽出のための一般的な、そしてさらに定義された親クラスを複数使用する必要があります。
    同じまたは親クラスで定義されたクラスの同様の基であり、抽出された特徴の一般的な挙動、再利用6.5。
    6.6継承を生成した後、サブクラスは親クラスのプロパティとメソッドを使用するだけでなく、独自のプロパティとメソッドのサブクラスを定義することができます。
    6.7 =完全なサブクラスジェネリック親クラスのサブクラス+ユニーク
    6.8利点:コードの再利用性を向上するだけでなく、コードのスケーラビリティを向上させるだけでなく、。
    6.9 Javaの単一継承クラスは、唯一の直接の親を持つことができるが、ステップ重畳によるマルチレベル継承、属性および方法のステップとすることができます。

    6.10アクセス修飾子://その他:パッケージには、何の継承はありません
    ここに画像を挿入説明

    :6.11継承することはできません
    サブクラスを継承するのではなく、1)親クラスのコンストラクタを。
    2)プライベートメンバーにより修飾親クラスは、)(見えない継承することができません。
    修飾された場合、親クラスのメンバー、デフォルトで3)、同じサブクラスのパッケージで)見えない(継承することができないではありません。

    6.12 /リライタブル(上書き)を被覆する方法
    。1)。親クラスは、サブクラスのニーズを満たすことができない場合には、同じ方法は、親クラスおよびサブクラスで定義されてオーバーライドすることができます。
    2)の要件:
    。A)メソッド名、パラメータリスト、戻り値は、親と同じでなければなりません。
    B)。アクセス修飾子は、親クラスと同じか、親クラスより広くする必要があります。
    3)実装メカニズム:サブクラスは、スーパークラスのメソッドをオーバーライドするメソッドのバージョンが優先サブクラスカバレッジをとります。

  4. superキーワード:
    7.1最初の使用:「スーパー」のサブクラスでは、あなたができる形式のアクセスに親クラスのプロパティとメソッドは、特定の属性の避難所、親クラスのメソッドコールカバレッジの問題のメンバーを解決します。
    7.2第2の使用:スーパー()親クラスの引数なしのコンストラクタを呼び出し、サブクラスコンストラクタの最初の行を表します。最初の行のサブクラスのコンストラクタにデフォルトでは非表示に書いて、書いてはいけません。

  5. 相続で作成されたオブジェクト:
    8.1継承、オブジェクトのサブクラスを作成するときに、最初に親オブジェクトを構築します。
    「共通の親」+「サブクラスユニークな」完全なサブクラスのオブジェクトにすることにより8.2。

  6. 継承プロセスでオブジェクトを作成する:
    9.1親オブジェクトの構築(親クラス・オブジェクトは、メソッドを設定し、属性コードが実行されるロジック自体を初期化)
    9.2自体を初期化する属性
    9.3コード自体が論理的な構成方法を実行します

  7. 注:
    10.1サブクラスのコンストラクタであれば、非表示の定義スーパー()やスーパー(引数)、デフォルトのプロバイダのスーパー()。
    10.2同じサブクラスコンストラクタ、スーパー()は、この()は共存できません。

11.多型:
以上11.0状態は、異なるタイプのオブジェクト(同じクラスのサブオブジェクトの親クラス)は、同じメッセージに応答を可能にする意味します。即ち、同じメッセージが異なるオブジェクト、多くの異なる挙動に応じて送信することができます。同様に、異なる呼び出しで同じタイプ(親クラスの型)の変数(サブクラスは親クラスを書き換える)結果(送信メッセージ機能が呼び出されます)。
11.1コンセプト:様々な形で結果として親クラスのサブクラスのオブジェクトへの参照、。
11.2前提多型構成では、基準は、それによって多型を形成し、親クラスのサブクラスオブジェクトに向けられてもよいし、両者の間の直接的または間接的な継承関係を持たなければなりません。
11.3は、サブクラス独自のプロパティとメソッドを呼び出すことはできません、親クラスのプロパティと宣言されたメソッドを呼び出すことができる唯一の親クラスを指します。

11.4	多态两种应用场景:
	1).	场景一:使用父类作为方法形参,实现多态

あなたがメソッドを呼び出すと、引数の型を送信することができます含まれます:オブジェクトの種類+そのサブクラスの現在のすべてのオブジェクトを。
2)戻り値として親クラスのメソッドを使用して、多型を達成します。
方法が利用可能であるときにタイプは、結果を含む:オブジェクト+オブジェクトのこのタイプは、そのサブクラスのすべてです。
12.ボックス化とアンボックス化:
1)パッキング:実際のサブクラスオブジェクトに格納された親クラス参照を、上方遷移(多型コアコンセプト)と呼ばれます。
2)開梱:本当のサブクラスで、ダウンキャストと呼ばれるサブクラス自体に強いバックタイプの親アプリケーションオブジェクトを。
3)注:ターゲットによるダウンキャスト親クラスのサブクラスのオブジェクト参照の型が一致しない場合、変換の例外の種類が発生します。java.lang.ClassCastExceptionが
13 instanceofのキーワード:
1)構文:instanceofの親クラスの参照型(戻り値Boolean型の結果)

总结:
	1).	多态的两种应用场景:
		a).	使用父类作为方法形参,实现多态。
			调用方法时,可传递的实参类型包括:本类型对象+其所有的子类对象。

		b).	使用父类作为方法返回值,实现多态。
			调用方法后,可得到的结果类型包括:本类型对象+其所有的子类对象。

	2).	多态的作用:
		a).	屏蔽子类间的差异。
		b).	灵活、耦合度低。

	时间与空间的平衡、效率与安全的平衡

II。要約:
これはオブジェクト間のプログラムは新しいことではないでしょうか?
動物自動車(輸送)新車(
親:不完全な、いない特定の十分は、独立して存在してはならない、どのように抽象クラスではなく、新しいターゲットを意味する抽象クラスによる変更を、解決するには?

1.	abstract的意思:抽象的,似是而非的,像,却又不是,具备某种对象的特征,但不完整。
2.	abstract修饰类,意为“不够完整、不够具体,不该独立存在”
	I.	即为抽象类,不能独立new对象。
	II.	可被子类继承,对子类提供共性的属性和方法。
	III.	可声明引用,更纯粹的使用多态。
	IV.	抽象类的构造方法的作用:构建子类对象时,先构建父类对象,由父类共性+子类独有组成完整的子类对象。

抽象修正方法
1)。手立ては括弧だけで終わるセミコロンの一部で宣言されていなくても、抽象メソッドボディはありません
2)クラスの抽象メソッドを持っている必要がありますが、抽象クラスである、抽象クラスは必ずしも抽象メソッドはありません
3)抽象メソッドがでなければなりませんがサブクラスは抽象メソッドオーバーライドし
ます。3.概要を
I.は抽象クラスに変更:新しいものではないオブジェクトを、しかし参照を宣言することができます。
。II抽象修正方法:唯一の方法宣言は、達成するための方法はありません。(抽象クラスに含める必要があります)
III。抽象クラスは必ずしも抽象メソッドではなく、方法の必須抽象クラスは、抽象クラスです。
IV。サブクラスは、抽象クラスを継承した後は、そうでない場合は、すべての抽象メソッド、抽象クラスまたはサブクラスの中で親クラスをオーバーライドする必要があります。

リリース元の4件の記事 ウォンの賞賛0 ビュー215

おすすめ

転載: blog.csdn.net/weixin_44077166/article/details/104445214