package com.oop.demo06;
public class Person {
public void run(){
System.out.println("run");
}
}
package com.oop.demo06;
public class Student extends Person{
public void go(){
System.out.println("go");
}
}
/*
package com.oop;
import com.oop.demo06.Person;
import com.oop.demo06.Student;
import com.oop.demo06.Teacher;
public class Application {
public static void main(String[] args) {
//Object->String
//Object->person->Teacher
//Object->Person->Student
Object object=new Student();
//System.out.println(x instanceof y);能不能編譯通過!就是看x和y之間是否存在父子關系
System.out.println(object instanceof Student);//true
System.out.println(object instanceof Person);//true
System.out.println(object instanceof Object);//true
System.out.println(object instanceof Teacher);//false
System.out.println(object instanceof String);//false
System.out.println("==================");
Person person=new Person();
System.out.println(person instanceof Student);//flase
System.out.println(person instanceof Person);//true
System.out.println(person instanceof Object);//true
System.out.println(person instanceof Teacher);//false
//System.out.println(person instanceof String);//編譯報錯
System.out.println("==================");
Student student=new Student();
System.out.println(student instanceof Student);//true
System.out.println(student instanceof Person);//true
System.out.println(student instanceof Object);//true
//System.out.println(student instanceof Teacher);//編譯報錯
//System.out.println(student instanceof String);//編譯報錯
}
}
*/
/*
多型注意事項:
1、多型是方法的多型,屬性沒有多型
2、父類和子類有聯系 型別轉換例外(ClassCastException)
3、存在條件:繼承關系,方法需要重寫,父類參考指向子類物件 Father f1=new son();
不能重寫,也沒有多型的方法
1、static 方法,屬于類,它不屬于示例
2、final 常量
3、private方法
*/
package com.oop.demo06;
public class Teacher extends Person{
}
package com.oop;
import com.oop.demo06.Person;
import com.oop.demo06.Student;
import com.oop.demo06.Teacher;
public class Application {
public static void main(String[] args) {
//型別直接的轉換:基本型別轉換 父 子
//高 低
Person s1=new Student();
//student這個物件轉換成Student型別,我們就可以使用Student型別的方法
Student student= (Student)s1;//高轉低強制轉換
//子類轉換成父類可能會丟失一些方法
Student s2=new Student();
s2.go();
Person person=student;
}
}
/*
1、父類參考指向子類物件
2、把子類轉換成父類,向上轉型
3、把父類轉換成子類,向下轉型,需強制轉換
4、方便方法的呼叫,減少重復的代碼
*/
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/471759.html
標籤:Java
下一篇:【SSM框架】MyBatis筆記 --- 動態sql講義+實戰;map在動態sql中的使用;列名與類中成員變數名不同的兩種解決方案
