您的位置:首页 > 编程语言 > Java开发

Java-方法重写、重写与重载的区别

2017-09-14 21:27 417 查看
方法重写
规则:

在继承关系的子类中

重写的方法名,参数,返回值类型必须与父类相同

私有方法不能继承因而也无法重写

访问修饰符不能比父类更严格

方法重写的意义是实现多态
方法重写的默认行为是调用父类方法内容
作用:可以在子类中修改父类的方法内容
@Override//重写 以@开头的标识符叫注解



父类
public class A {
/**
* 重载:同一个类中,方法名相同,参数列表不同
*/
protected void test() {}
private int test(int a){
return 0;
}
private int test(double a){
return 0;
}
public int sum(int a,int b){
return 0;
}
public void set(A a) {
a.test();
System.out.println(a.sum(1, 2));
}
}
子类
public class B extends A{
/**
* 重写:在有继承关系的子类中,方法名相同,
* 参数列表一致,返回值一致,
* 访问修饰符不能比父类更严格
*/
protected void test() {
// TODO Auto-generated method stub
System.out.println("这是b方法");
}
@Override
public int sum(int a, int b) {
// TODO Auto-generated method stub
return a+b;
}
/**
* 方法重写的意义是实现多态
* @param args
*/
public static void main(String[] args) {
B b=new B();
A a=new A();
C c=new C();
// a.set(a);
a.set(b);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: