面向对象高级04-对象的多态性,以及对象多态性在抽象类和接口中的实际应用.docx
文本预览下载声明
16. 面向对象高级(04) 本季要点:对象的都态性、instanceof关键字、Object类。本季为Java基础中面向对象的重要一季,讲解了对象的多态性,以及对 象多态性在抽象类和接口中的实际应用。blog: HYPERLINK /27212/126674 \t /_blank [零基础学JAVA]Java SE面向对象部分-16.面向对象高级(04) 2009-01-15
上季内容回顾:
1、final关键字?· 修饰类不能被继承?· 修饰方法不能被覆写?· 修饰的变量就是一个常量,全局常量(public static final)?2、抽象类和接口?· 抽象类:只包含一个抽象方法的类,抽象方法只需声明而不需要实现,必须有子类?· 接口:只包含抽象方法和全局常量的类——接口,也是必须有子类
在实际中一个类很少会去继承一个已经完全实现好的类,基本上都是继承抽象类和实现接口。
本季主要知识点:
1、对象的多态性?2、instanceof关键字?3、Object类
对象的多态性
INCLUDEPICTURE \d /attachment/200901/15/27212_1232031350rIBe.png \* MERGEFORMATINET
注意点:?为了清楚的阐述出概念,现在先使用普通类的继承关系。
向上转型:
class?A????{????????????public?void?fun1()????????????{????????????????????System.out.println(A类===public?void?fun1());????????????}????????????public?void?fun2()????????????{????????????????????//fun2方法调用的是fun1方法????????????????????this.fun1();????????????}????}????class?B?extends?A????{????????????//覆写A类中的fun1()方法????????????public?void?fun1()????????????{????????????????????System.out.println(B类===public?void?fun1());????????????}????????????public?void?fun3()????????????{????????????????????System.out.println(B类===public?void?fun3());????????????}????}????public?class?Demo01????{????????????public?static?void?main(String args[])????????????{????????????????????B b =?new?B();????????????????????A a =?new?A();????????????????????b.fun1();????????????????????a.fun2();????????????????????b.fun3();????????????}????}
INCLUDEPICTURE \d /attachment/200901/15/27212_1232031350oH9J.png \* MERGEFORMATINET
对象多态性体现在对象相互转型上面哈~
class?A????{????????????public?void?fun1()????????????{????????????????????System.out.println(A类===public?void?fun1());????????????}????????????public?void?fun2()????????????{????????????????????//fun2方法调用的是fun1方法????????????????????this.fun1();????????????}????}????class?B?extends?A????{????????????//覆写A类中的fun1()方法????????????public?void?fun1()????????????{????????????????????System.out.println(B类===public?void?fun1());????
显示全部