JAVA基础语法10 多态 上

JAVA基础语法10

笔记 多态 上

多态

  • 多态(Polymorphism)按字面的意思就是“多种状态”,是面向对
    象的程序设计语言最核心的特征。
  • 从一定角度来看,封装和继承几乎都是为多态而准备的。

现实中,关于多态的例子不胜枚举

  • 动物们都有吃东西,跑,跳,叫的方法,不同的动物表现方式不同
  • 按下 F1 键这个动作,针对当前工作窗口,显示不同工具的帮助文

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

向上转型、隐式转型、自动转型父类引用指向子类实例,可以调用子类重写父类的方法以及父类派生的方法,无法调用子类独有方法注意:父类中的静态方法无法被子类重写,所以向上转型之后,只能调用到父类原有的静态方法小类转型为大类

在这里插入图片描述

//		/*向下转型、强制类型转换
//		 * 子类引用指向父类对象,此处必须进行强转,【注】就可以调用子类特有的方法
//		 * 必须满足转型条件才能进行强转
//		 * instanceof运算符:返回true/false 判断它是否可以类型转换
//		 */
//		if(two instanceof Cat){
//			Cat temp=(Cat)two;
//			temp.eat();
//			temp.run();
//			temp.getMonth();
//			System.out.println("two可以转换为Cat类型");
//		}
//	
//		if(two instanceof Dog){
//			Dog temp2=(Dog)two;
//			temp2.eat();
//			temp2.sleep();
//			temp2.getSex();
//			System.out.println("two可以转换为Dog类型");
//		}
  • 父类含有 static 方法不可以被重写,若子类有相同的static方法,那是子类特有的方法

  • 抽象类

    • 抽象类无法实例化,但可以指向子类实例
      在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


  • 向上转型和动态绑定机制

 关于类型转换的应用问题

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值