详解java多态中的向上转型,向下转型

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方法
}
}

向下转型,也就是还原,使用子类创建子类对象,然后利用强制转型将父类创建的子类对象转为子类对象。然后便可调用子类中的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值