Java中重写与重载的辨析

摘要:在我们学习Java过程中,重写与重载使我们在面向对象里要学习的重要知识点之一,那我们看看它们有那些区别:

 一.重写

  1.概念:简单的说就是子类将从父类继承而来的方法重新实现一次。

  2.特点:

  ①方法名必须与父类对的保持一致

  ②参数列表必须保持一致,

  ③返回类型必须一致,

  ④访问修饰符的可访问范围要大于等于父类,

  ⑤子类重写后的方法不能抛出比父类重写前范围更大的异常。

二.重载

 1.概念:简单的说是在同一个类中,拥有多个同名方法,参数列表不同各有各的实现相互不影响。

 2特点:

  ①具有不同的参数列表,

  ②参数列表内的参数相同时,参数的顺序必须不同,

  ③可以有不同的访问修饰符,

  ④可以抛出不同的异常,

  ⑤可以有不同的返回类型,

 例:

package com.lovo.thissuper;
//父类
public class SuperClass {
	
	public void super(){
		System.out.println("父类方法1");
	}
	
	public void super(int a){
		System.out.println("父类的方法2");
	}
	
	public void super(int a, int b){
		System.out.println("父类的方法3");
	}
}

  

public class SubClass extends SuperClass{	
//子类	
	public void super(){
		System.out.println("子类的方法1");
	}
	
	public void super(int a){
		System.out.println("子类的方法2");
	}
	//方法用final修饰就表示该方法不能被重写
	public void super(int a, int b){
		System.out.println("子类的方法3");
	}		
}

  终结:重载如例子中父类和子类中的三个方法,就是重载的不同参数列表的重载方法的一种体现,而父类里的三个方法与子类里的三个分别对应,而形成了重写的的体现,从这里我们可以有一个很明显的区别,重写是在两个类中的,而重载是在一个类里出现;另外补充一个知识点,就是在父类中如上例子中,将父类再加上final来修饰的话,子类只能继承,但是不能重写父类的这个方法。

原文地址:https://www.cnblogs.com/qq1083735206/p/6160200.html