多态性

多态性

  1.多态性提现:方法的重载和重写

  2.对象多态性

    2.1(先发生)向上转型:程序会自动完成

      父类  父类对象 = 子类实例

    2.2(再发生)向下转型:强制类型转换

      子类  子类对象 = (子类)父类实例 

package com.yikuan.cn;


class A{
public void tell1(){
System.out.println("A--tell1");
}
public void tell2(){
System.out.println("A--tell2");
}
}

class B extends A{
public void tell1(){
System.out.println("B--tell1");
}
public void tell3(){
System.out.println("B--tell3");
}
}

public class Test1 {
public static void main(String[] args) {
//创建子类的实例对象
/* B b = new B();
//向上转型
// 父类  父类对象 = 子类实例
A a = b;
a.tell1(); //tell1的方法是重写的,重写之后它将调用的是被重写之后的方法
a.tell2();
*/
//向下转型
A a = new B();
//子类  子类对象 = (子类)父类实例
B b = (B) a;
b.tell1();
b.tell2();
b.tell3();
}
}

instanceof关键字

抽象类的应用

接口的应用

原文地址:https://www.cnblogs.com/yikuan-919/p/9452523.html