Java基础——对象多态性产生的"参数统一化"

Java基础——对象多态性产生的"参数统一化"

  Java中不仅方法具有多态性,对象也同样具有多态性**

  方法多态性:指一个类实例的相同方法在不同情形下有不同的表现形式,主要操作包含重载与重写。
  对象多态性:父类与子类对象之间的转换,只要包含向上转型与向下转型

  具体有关重载与重写的详细内容,可参考,方法覆写与方法重载。有关对象多态性的介绍,可参考,向上转型和向下转型
  由于Java支持默认的向上转型,因此所谓"参数统一化"就是将父类的引用设置为方法的形参,而将实际的子类对象作为调用该方法时的实参,由于向上转型,该方法可以传多个子类对象,而在该方法中使用的是同一个标准(父类引用)。"参数统一化"是向上转型的具体实现,其好处可参考:向上转型的好处

  举个"参数统一化"的栗子

	class Person{
	    public void fun(){
	        System.out.println("我是学生");
	    }
		public void show(){
	        System.out.println("你好人类");
	    }
	}
	
	class Student extends Person{
	    public void fun(){
	        System.out.println("我是学生");
	    }
		public void show(){
	        System.out.println("你好学生");
	    }
	}
	
	class Worker extends Person{
	    public void fun(){
	        System.out.println("我是工人");
	    }
		public void show(){
	        System.out.println("你好工人");
	    }
	}
	public class Test{
	    public static void main(String[] args){
			
	        test(new Student());
	        test(new Worker());
	
	    }
	
	    public static void test(Person per){
	        per.fun();
			per.show();
	    }
	}
  打印结果如下:

在这里插入图片描述

  从结果可以看出,通过"参数统一化",在该方法内部就可以使用Person类这个标准调用父类与子类共有的方法(父类不能调用子类中独有的方法,详情看上面那篇文章),从而体现出Java语言的抽象编程的思想,同样也简化了代码量,否则就得写好多方法的重载用于分别接受不同的子类对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值