多态详细讲解
1.多態(tài)是方法的多態(tài),屬性沒有多態(tài)
2.父類和子類有聯(lián)系,類型轉(zhuǎn)換異常!classcastexception
3.存在條件,繼承關(guān)系,方法需要重寫,父類引用指向子類對象Father f1=new Son();
4.不能繼承的有
(1)static方法,屬于類,不屬于實例
(2)final常量
(3)private方法
5.定義:同一方法根據(jù)發(fā)送對象的不同采用不同的行為方式(都是run()方法,不同對象調(diào)用結(jié)果不一樣)
一個對象的類型是確定的,可以指向?qū)ο蟮囊妙愋陀泻芏?#xff08;父類,有關(guān)系的類)
6.多態(tài)存在條件:有繼承關(guān)系,子類重寫父類方法,父類引用指向子類對象
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能調(diào)用的方法就是自己的或繼承父類的Student s1 = new Student();//person 父類型,可以指向子類,但是不能調(diào)用子類獨有的方法Person s2 = new Student();Object s3 = new Student();s2.run();//子類重寫了父類的方法,執(zhí)行子類的方法 輸出sons1.run();// 輸出son//對象能執(zhí)行哪些方法,主要看左邊類型和右邊無關(guān)((Student) s2).eat();//eats1.eat();//eat} }總結(jié)
- 上一篇: 全网最细之抽象类讲解
- 下一篇: jq之mouseup