Java 多态的中转!!//有趣的编程故事!!

知识点:
向上转型(自动类型提升)
从子到父:父类引用指向子类的对象
父类 父类对象名 = new 子类();
向下转型(强制类型转换)
从父到子:父类引用转为子类的对象
子类 子类对象名 = (子类)父类对象;
好处:
向上转型:父类引用指向子类对象,提高了程序的扩展性。
向下转型:父类引用转为子类对象,可以访问子类的特有功能(新增方法)。

代码:

class 张三爹{
 int age = 45;
 public void teach(){
  System.out.println("讲解java");
 }
}
class 张三 extends 张三爹{
 int age = 25;
 public void teach(){
  System.out.println("讲解小学数学");
 }
 public void playGame(){
  System.out.println("玩游戏");
 }
}
//测试类
public class Test04 {
 public static void main(String[] args) {
  /*
   * 最近java特别火,导致张三爹特别忙,讲很多课,
   * 有一天张三爹外出讲课,这时候有人来到张三家,找张三爹讲课
   * 张三爹不在,但是对方给出很多报酬,张三想我装成我爹出去挣钱
   * 张三,穿上他爹的衣服,就去讲课了。
   * */
  张三爹  k = new 张三(); 
  //到了对方家,聊天,问您多大了
  System.out.println(k.age);  //45
  //开始讲课
  k.teach(); //数学
  //不行,张三回到家
//  k.playGame(); //错误,因为当前操作的是父类的对象,不能直接访问子类新增的方法
  //脱去张三爹的衣服,恢复自己的身份
  张三 h = (张三)k;
  h.playGame();
 }
}

结果:

           45
           将小学数学
           玩游戏

关注我,持续为你更新!!!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

送你一朵小红花&

你的鼓励就是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值