面对对象之多态-----多态基础

多态基础

1. 多态,事物的多种形态

1) 同一个行为具有多种不同的表现形式或形态的能力
2)一个引用变量会指向哪个类的实例对象,该引用变量发出来的方法调用是哪个类中实现的方法,必须在程序运行期间才能决定。

2. 实现多态的三个必要条件

1)父子类
2)重写(子类重写父类方法)
3)向上转型(重点)
父类 变量 = new 子类

酒 五粮液 = new 五粮液();
		五粮液.喝酒();

向上转型的好处:子类是父类的扩展,它可以提供比父类更强大的功能,如果我们定义了一个指向子类的父类的引用,那么它除了能引用父类的共性外,还可以使用子类的强大功能。

3. 多态实例


/**
 *多态的意义:编译时并不确定该程序指什么,只有运行时才知道
 *
 */
public class 多态案列 {
   
	public static void main(String[] args) {
   
		//向上转型
		Animal animal1 = new Dog();
		animal1.eat();
		//多态局限性,不能调用子类的扩展方法
		//animal1.lookDoor();
		
		Animal animal2 = new Cat();
		animal2.eat();
	}

}
//1:父子关系
//2:方法重写
//3:向上转型(父类有一个引用去指向子类)
abstract class Animal {
   
	public abstract void eat() ;
		
}
class Dog extends Animal{
   
	//方法重写标志
	@Override
	public void eat
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值