栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java方法重载和方法重写

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java方法重载和方法重写

重写(Override)与重载(Overload)         重写(Override)

                重写是子类对父类的允许访问的方式的实现过程进行重新编写,

                返回值和形参都不能改变,即外壳不变,核心重写。

                重写可以根据子类的需要,来定义属于自己的行为

                也就是说子类能够根据自己的需求来实现父类的方法

        重写注意点

                1.重写方法不能抛出父类不包含的异常,或者比父类声明的异常更加宽广

                2.子类覆盖父类,必须保证子类权限(修饰符)要大于或等于父类权限

                        才可以覆盖,且父类不能为private修饰

                3.参数列表与被重写方法的参数列表完全一样

                4.返回类型与被重载方法的返回类型可以不相同

                        但必须是父类的派生类(java5返回值相同,java7+可以不同)

                5.子类重写了方法之后,子类调用方法会调用子类自己的方法,不会调用父类的方法

//父类
class Over {
	protected void a () {
		try {
			System.out.println("Over类当中的a方法");
		}catch(RuntimeException E) {
			E.printStackTrace();
		}
	}
}
//子类
class ride extends Over{
	//修饰符比父类小,会编译异常
    //void a () {
    //	System.out.println("Ride类当中的a方法");
    //}
//  抛出比父类不包含的异常
//	public void a () {
//		throw new Exception();
//	}

	public void a () {
		throw new RuntimeException();
	}
	 
}
        重载(overload)                 说明

                        重载(overload)是在一个类当中,方法名称相同,而参数不同

                                返回类型可以相同也可以不同

                        每个重载的方法(构造函数)都必须有一个第一无二的参数类型列表

                        最常用的地方就是构造器的重载

                重载规则

                        被重载的方法必须改变参数列表(参数个数、类型、顺序)

                        被重载的方法可以改变访问修饰符

                        方能能够在同一个类中或者在一个子类中被重载

                        无法以返回值类型和修饰符作为重载函数区分的标准

public void a (){
    
}
//个数不同
public void a (int i){
    
}
//类型不同
public void a (String i){
    
}
//个数不同
public void a (String b ,int i){
    
}
//顺序不同
public void a (int a ,String b){
    
}

重载和重写的区别

区别点

重载方法

重写方法

参数列表

必须修改

一定不能修改

返回值类型

可以修改

不能修改

异常

可以修改

可以减少或删除,一定不能抛出新的或更广的异常

访问

可是修改

子类不能比父类的修饰符大

总结

        方法的重写和重载都是java多态性的不同表现,重写是父类的与子类之间的一种表现

        重载可以理解成多态的具体表现形式

                1.方法重载是一个类中定了多个方法名相同,而他们的参数的数量不同而类型

                        和顺序不同,则称为方法的重载

                2.方法重载是在子类继承了父类并声明了相同的方法时,而且参数的个数与类型一样

                        返回值也一样,称为重写

                3.方法重载是一个类多态性的表现,而方法重载是子类与父类的一种多态性表现

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/424600.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号