Overloading And Overriding

          最近在技术分享的时候,说到了一个小点,重写和重载,顿时感觉自己基础忒差,于是拿出这两个词,再一次温习一下,总是区分不开,加上一直在学习java,所以就用java来写一些小例子。

        重载(overloading)

         重载用一句话总结就是:充分体现多态,函数名相同,参数不同,返回值不做要求。

         例子:

         

package overloading;

public class Dog {
	Dog(){
		
		
	}
	void Bark(){
		System.out.println("no barking");
		this.Bark("female",3.4);
	}
	void Bark(String m,double d){
		System.out.println("a barking dog");
		this.Bark(5,"china");
	}
	void Bark(int a,String n){
		System.out.println("a howling dog");
	}
	
	public static void main(String[] args) {
		Dog dog=new Dog();
		//多态
		dog.Bark();
		dog.Bark(2, "sdfsd");
		dog.Bark("sdf",2.2);
	}
}
         重写(overriding)

        重写最重要的是子类继承父类,并可以在不改变父类方法名、参数、返回值的情况下进行重写,也叫方法覆盖。

        紧接上面的例子:          

package overloading;

public class subDog extends Dog {

	@Override
	void Bark() {
		<span style="color:#ff0000;">int i;
		System.out.println("重写父类方法");</span>
	}

	@Override
	void Bark(String m, double d) {
		// overriding
		super.Bark(m, d);
	}

	@Override
	void Bark(int a, String n) {
		// overriding
		super.Bark(a, n);
	}
	
	 public static void main(String[]agrs)
	    {
		 	Dog dog=new subDog();
		 	dog.Bark();//重写方法
		 	dog.Bark(5, "sdfsd");
		 	dog.Bark("df", 2.52);
	    }

}
         其实当我写完这篇博客时,我觉得重载与重写其实在平时经常用,但是当真正让我去说他们的时候,我区分不清,根源就在没有做到思想上移,对于实践和理论并没有很好的结合,对于基础知识的重视程度并不是太高,所以在今后的学习中,对于这些基础知识点的学习还是必须滴~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值