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 run(){
System.out.println("son");
}
public void eat(){
System.out.println("eat");
}
}
/*
多型注意事項:
1、多型是方法的多型,屬性沒有多型
2、父類和子類有聯系 型別轉換例外(ClassCastException)
3、存在條件:繼承關系,方法需要重寫,父類參考指向子類物件 Father f1=new son();
不能重寫,也沒有多型的方法
1、static 方法,屬于類,它不屬于示例
2、final 常量
3、private方法
*/
package com.oop;
import com.oop.demo06.Student;
import com.oop.demo06.Person;
public class Application {
public static void main(String[] args) {
/*
Student s1=new Student();
s1.setName("lisa");
System.out.println(s1.getName());
s1.setAge(150);//不合法的資料
System.out.println(s1.getAge());
*/
//demo06測驗
//一個物件的實際型別是確定的
//new Student();
//new Person();
//可以指向的參考型別就不確定了
//Student能夠呼叫的方法都是自己的方法或者繼承父類的
Student s1=new Student();
//Person可以指向子類,但是不能呼叫子類獨有的方法
Person s2=new Student();//父類的參考指向子類
Object s3=new Student();
//s2.eat();不能運行,因為物件能執行的哪些方法,主要看物件的左邊的型別,和右邊關系不大
((Student)s2).eat();//強制轉換
s2.run();
s1.run();
s1.eat();
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/469885.html
標籤:其他
下一篇:檔案是否存在的檢測方法
