Javaの共変リターンタイプ
共変リターンタイプは、オーバーライドメソッドのリターンタイプを指します。タイプをキャストしたり、リターンタイプをチェックしたりすることなく、オーバーライドされたメソッドのリターンタイプを絞り込むことができます。共変リターンタイプは、非プリミティブリターンタイプに対してのみ機能します。
Java 5以降では、戻り型がオーバーライドされたメソッドの戻り型のサブクラスであるという条件を順守することによってのみ、戻り型を変更することでメソッドをオーバーライドできます。
次の例は同じことを示しています。
例
class SuperClass { SuperClass get() { System.out.println("SuperClass"); return this; } } public class Tester extends SuperClass { Tester get() { System.out.println("SubClass"); return this; } public static void main(String[] args) { SuperClass tester = new Tester(); tester.get(); } }
出力
Subclass
-
JavaのLayoutManagerとLayoutManagerのタイプとは何ですか?
レイアウトマネージャーを使用すると、コンテナー内のコンポーネントのサイズと位置を決定することで、GUIフォームでのビジュアルコンポーネントの配置方法を制御できます。 LayoutManagerの種類 Javaには6つのレイアウトマネージャーがあります FlowLayout :ページ上の単語のように、コンポーネントをコンテナに配置します。 左から右、上から下のトップラインを埋めます 。コンポーネントは、追加された順序で配置されます。つまり、最初のコンポーネントが左上に表示されます。コンテナがすべてのコンポーネントを表示するのに十分な幅がない場合は、ラインにラップされます。コンポーネント
-
Javaでの継承の種類
Javaは3種類の継承をサポートしています- 単一レベルの継承-クラスは単一のクラスからプロパティを継承します。たとえば、クラスBはクラスAを継承します。 マルチレベル継承-クラスは、プロパティを継承するクラスからプロパティを継承します 階層継承-複数のクラスが単一のクラスからプロパティを継承します。たとえば、クラスBはクラスAを継承し、クラスCはクラスAを継承します。