アップキャストおよびダウンキャスト:
Javaでは、継承は、キーワードを通って延びている親は、サブクラスの現在のニーズを満たすことができない場合、サブクラスは親クラスの親クラスのメソッドの機能を再利用することができ、重要な機能である、サブクラスがあることをオーバーライドすることができます延長。
:アプリケーションの2つの方法、すなわち形質転換、ある上方遷移および下方遷移が。
たとえば、次のように親の親、子のサブクラス
- アップキャスト:親のサブクラスのオブジェクトの親のp =新しい子への参照();
- 説明:親オブジェクトとして上方遷移、サブクラスオブジェクトの子クラスはサブクラスオーバーライドメソッドこの基準点に基づいて、呼び出す親メソッドをオーバーライドする場合、機能のみ、親クラスと呼ぶことができます。
- 下方遷移(以下):サブクラスのサブクラスオブジェクトの基準点は、プロセスは、キャストに入れなければなりません。
Parent p = new Child();//向上转型,此时,p是Parent类型
Child c = (Child)p;//此时,把Parent类型的p转成小类型Child
- //実際には、オブジェクトのサブクラスを作成するのと同等、あなたは親クラスを使用することができ、また、あなた自身を使用することができます
- 説明:ダウンキャストは、サブクラスのメソッドは、機能拡張を行う際に特別な方法サブクラスを使用しての便宜のために、直接サブクラス関数を使用することができます。
静的変数とインスタンス変数の違い
構文定義の違い:静的なキーワードを追加する前の静的変数ではなく、インスタンス変数を追加する前に。
プログラムは、違いを実行します:
- オブジェクトのプロパティに属するインスタンス変数は、インスタンス変数は、このインスタンス変数を使用するためにスペースを割り当てられているオブジェクトのインスタンスを作成する必要があります。
- 静的変数は、オブジェクトのインスタンスに属していないが、クラスに属し、また、静的変数にスペースが割り当てられます限り、プログラムがロードされたバイトコードのクラスであるとして、オブジェクトのインスタンスを作成しない、クラス変数として知られ、静的変数をすることができ使用しています。
- 要するに、インスタンスの後に変数がオブジェクトを作成する必要があり、このオブジェクトで使用することができ、あなたは直接クラス名を参照する静的変数を使用することができます。