オブジェクトのアップシフトとダウンシフト


今日は対象の転換に関する知識を見て、もっとはっきりした収穫がありました.
まずPersonクラスを新規作成します.コードは次のとおりです.
package com.test;

public class Person {
  String Name;
  String Age;
  void Introduce(){
	  System.out.println(" "+Name+" "+Age);
  }
}

学生クラスのコードは以下の通りです.
package com.test;

public class Student extends Person{
 String Address;
   
	void Introduce() {		 
		super.Introduce();
		System.out.println(" "+Address);
	}
	void Study(){
		System.out.println(" ");
	}
}
テストクラスのコードは次のとおりです.
package com.test;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Student student=new Student();
		student.Name="  ";
		student.Age="20";
		student.Address=" ";
		Person person=student;
		person.Introduce();
	}

}
私たちが実行した結果は次のとおりです.
私の名前は張三です.
上記の結果について、以下の内容をまとめます.
1、personを呼び出すと.Addressでは、参照がどのメンバー(変数、関数)を呼び出すことができるかは、この参照のタイプによって異なります.
2、上のTestでpersonを呼び出します.Introduce();この方法で印刷した結果、私の家は広州に住んでいます.これはpersonが呼び出したIntroduce()方法がStudentsの中にあることを示しています.
したがって、リファレンスが呼び出す方法は、このリファレンスが指すオブジェクトに依存することがわかります.