Javaの親クラスとサブクラス間の変換の問題

王林
リリース: 2019-12-17 11:55:54
転載
3795 人が閲覧しました

Javaの親クラスとサブクラス間の変換の問題

例 1

親クラスは子クラスに回転を強制します

Father f = new Father();
Son s = (Father)f;//出错 ClassCastException
ログイン後にコピー

分析:

親のインスタンスを作成しますクラスであり、強制したいのですが、親クラスのオブジェクトをサブクラスに変換することはできません。平たく言えば、本当の父親は決して息子のふりをすることはできません。

オンライン学習ビデオ チュートリアルの共有: java オンライン チュートリアル

例 2

サブクラスを強制的に回転させる「偽の」親クラス

Father f = new Son();
Son s = (Son)f;//可以
ログイン後にコピー

分析:

親クラス オブジェクトはサブクラス インスタンスを参照します。

Father クラスは Son クラス (サブクラス) の固有のプロパティを持たないため、当面 f で Son クラス固有のプロパティを操作することはできません。

次に、親クラス オブジェクト f から強制的に変換されたオブジェクトを参照するサブクラス オブジェクト s を作成します (実際には、強制的に Son に変換されたふりをした Son です)。サブクラスの固有の属性を操作するために渡すことができます。

平たく言えば、息子は父親のふりをしているということですが、結局のところ息子はまだ息子であり、本質は変わっていません。息子に戻らざるをえない場合もあります。

例 3

サブクラスを親クラスに強制変換

Son s = new Son();
Father f = (Father)s;//可以
ログイン後にコピー

分析:

サブクラスは親クラスに変換されますが、サブクラスの一意の属性はf 操作を使用すると、f はその非固有プロパティ (親クラスから継承されたプロパティ) を操作できます。

平たく言えば、息子と父親の共通点は、どちらも人間であるということです。息子は人間であり、父親からそれを受け継いでいます。二人とも基本的な人間の行動を持っていますが、息子は父親と同じ世代になることはできません (サブクラス型は親クラス型に変換されます)。

おすすめの関連記事とチュートリアル: java クイック スタート

以上がJavaの親クラスとサブクラス間の変換の問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート