多态详细讲解
1.多態(tài)是方法的多態(tài),屬性沒有多態(tài)
2.父類和子類有聯(lián)系,類型轉換異常!classcastexception
3.存在條件,繼承關系,方法需要重寫,父類引用指向子類對象Father f1=new Son();
4.不能繼承的有
(1)static方法,屬于類,不屬于實例
(2)final常量
(3)private方法
5.定義:同一方法根據(jù)發(fā)送對象的不同采用不同的行為方式(都是run()方法,不同對象調用結果不一樣)
一個對象的類型是確定的,可以指向對象的引用類型有很多(父類,有關系的類)
6.多態(tài)存在條件:有繼承關系,子類重寫父類方法,父類引用指向子類對象
package com.wuming.oop4.demo06;public class Person {public void run(){System.out.println("run");} } package com.wuming.oop4.demo06;public class Student extends Person{@Overridepublic void run() {System.out.println("son");}public void eat(){System.out.println("eat");} } package com.wuming.oop4.demo06;public class Application {public static void main(String[] args) {//一個對象的實際類型是確定的//new Student()//new Person();//可以指向的引用類型就不確定了;父類的引用指向子類//student能調用的方法就是自己的或繼承父類的Student s1 = new Student();//person 父類型,可以指向子類,但是不能調用子類獨有的方法Person s2 = new Student();Object s3 = new Student();s2.run();//子類重寫了父類的方法,執(zhí)行子類的方法 輸出sons1.run();// 輸出son//對象能執(zhí)行哪些方法,主要看左邊類型和右邊無關((Student) s2).eat();//eats1.eat();//eat} }總結
- 上一篇: 全网最细之抽象类讲解
- 下一篇: jq之mouseup