加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Java 技巧的重写与重载

发布时间:2021-12-13 12:19:42 所属栏目:PHP教程 来源:互联网
导读:Java 中方法的重载与重写 重载: 1.方法名不相同,参数不同(同名不同参) (1).注意:这里的不同参包括(参数类型不同、参数个数不同、参数顺序不同) (2).返回值类型没有要求(可以是void、int、String等) (3).修饰符没有要求(可以是public、private等) 2.发生在

Java 中方法的重载与重写
 
重载:
 
1.方法名不相同,参数不同(同名不同参)
 
(1).注意:这里的不同参包括(参数类型不同、参数个数不同、参数顺序不同)
 
(2).返回值类型没有要求(可以是void、int、String等)
 
(3).修饰符没有要求(可以是public、private等)
 
2.发生在同一个类中
 
可以参照下面一段代码进行理解
 
public class ReLoadAdd {
public void add(long a,int b){//add()方法
int c = (int)a+b;
System.out.println(c);
}
//重载add()方法,与add()参数类型不同
private void add(int a,int b){
int  c = a+b;
System.out.println(c);
}
//重载add()方法,与add()参数个数不同这里有三个参数
protected void add(long a,int b,int c){
int d = (int)a+b+c;
System.out.println(c);
}
//重载add()方法,与add()参数顺序不同,修饰符为默认
void add(int b,long a){
int c = (int)a+b;
}
}
 
重写
 
1.发生在父子类中,子类对父类的方法进行重写
 
2.同名并且同参,返回值类型也应相同
 
3.子类方法的修饰符不能比父类方法的修饰符更封闭(要不和父类修饰符相同,要么比父类修饰符更宽泛)
 
4.子类抛出的异常类型不能比父类抛出的异常更宽泛
 
下面写一个ReLoadAdd的子类叫ReWriteAdd,完成对父类add()方法的重写
 
public class ReWriteAdd extends ReLoadAdd{
//  对父类第一个方法add()的重写,修饰符只能为public如果该没其他的报错,是第三条的印证
public void add(long a,int b){
int c = (int)a+b;
System.out.println(c);
}
//  对父类ReLoadAdd第二个add()方法的重写,父类修饰符为protected,所以子类可以为(protected、public)这里为protected
public void add(long a,long b){
long c = a+b;
System.out.println(c);
}
//  对父类ReLoadAdd第三个add()方法的重写,父类修饰符为protected,所以子类可以为(protected、public)这里为protected
protected void add(long a,int b,int c){
int d = (int)a+b+c;
System.out.println(d);
}
}

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读