Java面向对象----多态

Java面向对象有关多态的相关知识

/*
 * 多态:
 * 1.编译时多态:一个接口(方法),多种方法(方法重载)
 * 2.运行时多态:父类可以接受子类对象
 * 
 * 多态的作用:屏蔽子类差异化,写出通用代码
 * 运行时多态的前提是建立在继承的基础之上!
 */

我们来举个简单的例子直观理解一下什么是多态~

其中父类是Brid,子类分别是Chicken, Duck, Goose

1.父类:Brid

package com.lanou;

public class Brid {
      
	public void fly() {
		System.out.println("飞扬的小鸟");
	}
}

2.子类Chicken

package com.lanou;

public class Chicken extends Brid{
	
	@Override
	public void fly() {
		System.out.println("一只性感的小鸡");
	}
}

3.子类Duck

package com.lanou;

public class Duck extends Brid {
	@Override
	public void fly() {
		System.out.println("用心做鸭");
	}
}

4.子类Goose

package com.lanou;

public class Goose extends Brid{
	@Override
	public void fly() {
		System.out.println("麻辣烧大鹅");
	}
}

5.main函数

package com.lanou;

public class Main {
       public static void main(String[] args) {
	
    	   Brid brid = new Brid();
    	   Chicken chicken = new Chicken();
    	   Duck duck = new Duck();
    	   Goose goose = new Goose();

    	   //方式1:
    	   brid.fly();
    	   chicken.fly();
    	   duck.getClass();
    	   goose.fly();
    	   
    	   //方式2:(多态)
    	   Brid[]  brids = {brid, chicken, duck, goose};
    	   for (int i = 0; i < brids.length; i++) {
			Brid b = brids[i];
			b.fly();
			
			//foreach 格式
			/*for(遍历出来的对象  :  要遍历的数组){
			 * 
			 * }
			 * 
			 */
			for (Brid brid2 : brids) {
				brid2.fly();
			}			
		}
	}
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值