#ポリモーフィズムの概要
1. ポリモーフィズムは、カプセル化と継承に続く 3 番目の主要なオブジェクト指向手法です。 。2. ポリモーフィック リアリティの意味を理解する:
ポリモーフィズムにおけるメンバーの特性
1. ポリモーフィックなメンバー変数: コンパイルおよび実行時に左側を確認してくださいFu f=new Zi();System.out.println(f.num);//f は Fu の値であり、親の値のみを取得できます2. ポリモーフィック メンバー メソッド: コンパイル時に左側を見て、キーワードのインスタンス
機能: オブジェクトが特定のデータ型に属するかどうかを判断するために使用されます。 注: 戻り値の型は Boolean です使用例:Fu f1=new Zi(); Fu f2=new Son(); if(f1 instanceof Zi){ System.out.println("f1是Zi的类型"); } else{ System.out.println("f1是Son的类型"); }
多態性変換
多態性変換ポイント 2 つのタイプがあります上方変換と下方変換の説明上方変換: ポリモーフィズム自体が上方変換のプロセスです使用形式: 親クラス型変数名=新しいサブクラス型();適用可能なシナリオ: サブクラス型に直面する必要がない場合、スケーラビリティを向上させるか、親クラスの関数を使用することによって、対応する操作を完了できます。 下方変換: 上方変換されたサブクラス オブジェクトは、強制型変換形式を使用して、親クラスの参照型をサブクラスの参照型に変換できます。使用形式: サブクラス型変数名= (サブクラスタイプ) 親クラスタイプの変数; 適用シナリオ: サブクラス独自の機能を使用したい場合。多態性のケース:
例 1:package day0524; public class demo04 { public static void main(String[] args) { People p=new Stu(); p.eat(); //调用特有的方法 Stu s=(Stu)p; s.study(); //((Stu) p).study(); } } class People{ public void eat(){ System.out.println("吃饭"); } } class Stu extends People{ @Override public void eat(){ System.out.println("吃水煮肉片"); } public void study(){ System.out.println("好好学习"); } } class Teachers extends People{ @Override public void eat(){ System.out.println("吃樱桃"); } public void teach(){ System.out.println("认真授课"); } }
rree
以上がJava の基礎: ポリモーフィズムの理解と応用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。