java多态概念:
多态是同一个行为具有多个不同表现形式或形态的能力。
多态就是同一个接口,使用不同的实例而执行不同操作。
多态性是对象多种表现形式的体现。
简单来说,多态就是利用父类对象调用子类对象中的重写方法。
下面举一个简单例子:
定义了一个父类Fruit
定义了一个Apple子类
定义了一个Banana子类
主函数
运行结果;
可以看到,使用向上转型时,使用父类对象创建子类对象,然后便可实现向上转型,向上转型时,优先调用子类的方法
public class Father{
public void print(){
System.out.println(“我是父类”);
}
}
public class Son extends Father{
public void print(){
System.out.println(“我是子类”);
}
public void print1(){
System.out.println(“我是子类特有方法”);
}
}
public class Main{
public static void main(String[] args){
//向上转型
Father father = new Son();//使用父类创建子类对象
father.print();//这里调用的是子类中的print方法,不能使用father调用子类中的print1方法
//向下转型
Son son =(Son)father;//强制转换
son.print1; //现在使用son便可以调用print1方法
}
}
向下转型,也就是还原,使用子类创建子类对象,然后利用强制转型将父类创建的子类对象转为子类对象。然后便可调用子类中的方法