参考 抽象类和接口:http://blog.youkuaiyun.com/yyyandroid/article/details/7680436
对象的多态性:(JAVA中最重要的一个部分)
1、方法的重载和方法的覆盖实际上属于多态的一种体现
2、真正的多态性还包含了一种称为对象多态行的概念
3、对象多态性:子类和父类对象的相互转换关系
向上转型:父类 父类对象 = 子类实例 -->自动完成
向下转型 :子类 子类对象=(子类)父类实例 -->强制完成
常见异常:java.lang.ClassCastException (类转换异常,根本原因是两个没有关系的类进行相互的对象转换操作)此异常实际上是继NullpointerExption之后,第二个最容易出现的异常。
4、instanceof类的用法:(判断是否是另一个类的实例)
对象 instanceof 类 ——>返回boolean类型的数据,值就是true或false
class DemoA{
public void fun1(){
System.out.println("-A---fun1----");
}
public void fun2(){
fun1();
}
}
class DemoB extends DemoA{
public void fun1(){
System.out.println("-B---fun1----");
}
public void funB2(){
System.out.println("-B---funB2----");
}
}
class DemoC extends DemoA{
public void fun1(){
System.out.println("-C---fun1----");
}
public void funC2(){
System.out.println("-C---funC2----");
}
}
public class Demo {
public static void main(String args[]){
getAllFun(new DemoB());
getAllFun(new DemoC());
getAllFun(new DemoB());
}
public static void getAllFun(DemoA childClass){
childClass.fun2();
if(childClass instanceof DemoB){
DemoB demoB = (DemoB) childClass;
demoB.funB2();
}
if(childClass instanceof DemoC){
DemoC demoC = (DemoC) childClass;
demoC.funC2();
}
}
}
//结果:
//-B---fun1----
//-B---funB2----
//-C---fun1----
//-C---funC2----
//-B---fun1----
//-B---funB2----
5、在继承关系中,父类的设计很重要。只要父类设计合理了,则代码开发就非常简便了
1121



被折叠的 条评论
为什么被折叠?



