java中方法重写和重载的区别
2个回答
展开全部
重载:一个类中有一个方法a,你又在这个类中创建了一个方法b,方法b的名字和a一样,返回值类型也一样,但是参数的类型或个数不同,此时b重载了a。
例如:
public
class
testclass{
public
int
test(int
i){return
1;}
public
int
test(float
f){return
1;}
}
重写:一个类m继承另一个类n,n中有一个方法a,这时你在m写了一个方法b,方法b的名字、返回值以及参数都和a一样,此时b重写了a。
例如:
public
class
testclass1{
public
int
test(int
i){return
1;}
}
public
class
testclass2
extends
testclass1{
public
int
test(int
i){return
2;}
}
例如:
public
class
testclass{
public
int
test(int
i){return
1;}
public
int
test(float
f){return
1;}
}
重写:一个类m继承另一个类n,n中有一个方法a,这时你在m写了一个方法b,方法b的名字、返回值以及参数都和a一样,此时b重写了a。
例如:
public
class
testclass1{
public
int
test(int
i){return
1;}
}
public
class
testclass2
extends
testclass1{
public
int
test(int
i){return
2;}
}
展开全部
重写就事重新写,子类的方法名称,参数,返回值类型必须和父类相同。比如父类有个方法
public
String
fun(){
return
"father";
}
子类继承父类,重新fun方法
public
String
fun(){
return
"son";
}
方法的重载必须满足:方法名相同,参数的个数不同或参数的类型不同,与访问修饰符和返回值类型无关。
方法的重载可以是对本类的方法也可以对父类的方法(继承之后拥有父类的方法)。
public
String
fun(int
a){return
"int";}
public
String
fun(String
b){
return
"String";}
public
String
fun(int
a,String
b){
return
"....";}
public
String
fun(String
b,int
a){
return
"...."}
public
String
fun(){
return
"father";
}
子类继承父类,重新fun方法
public
String
fun(){
return
"son";
}
方法的重载必须满足:方法名相同,参数的个数不同或参数的类型不同,与访问修饰符和返回值类型无关。
方法的重载可以是对本类的方法也可以对父类的方法(继承之后拥有父类的方法)。
public
String
fun(int
a){return
"int";}
public
String
fun(String
b){
return
"String";}
public
String
fun(int
a,String
b){
return
"....";}
public
String
fun(String
b,int
a){
return
"...."}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询