重构class A{ public void getA(){ System.out.println("This is A"); } public void getA(int a){ System.out.println("This is A for "+a); } }重写class A{ public void getA(){ System.out.println("This is A"); } }class AA extends A{ public void getA(){ system.out.println("This is AA"); } }
重写就好理解了吧,代码没办法使用才会重写的
重写, 即override, 翻译为覆盖是最好的, 这个概念一般会跟OverLoad[重载]被提出,这两个概念比较具体:重写就是通过方法的参数识别不同的函数比如你有一个AMethod()不带参数, 然后你用了一个另外相同名称的方法,带一个参数AMethod(String para),这个过程就叫做重写.
OverLoad是子类覆盖基类的方法.具体搜搜就知道了.
重构是一个软件维护的通用技巧, 重构的具体做法, 可以通过重写或者重载等, 但不限于此, 更改注释, 更改函数名类名等,都可以称之为重构,重构的目的是为了让软件容易维护, 修改其Bug等.
1:方法的重载:
方法名相同,参数不同,与返回值无关
2:方法的覆盖:
不能覆盖final和static方法
继承父类必须覆盖父类abstract方法
必须与被覆盖方法的声明一样
没偏,基本正确;重载(overload):同一个类里,方法名相同,而方法签名(参数类型,个数等)不同,与返回值无关;
覆盖(override):又称过载,是子类在继承父类时,对父类抽象方法重新实现;
重构(refactor)
重写(override)
重载 (overload)
怎么都搞混了啊?
很多说的都是重载和重写的区别
我不知道LZ是不是要问的就是这个啊?重构是改变代码结构,不改变功能,使代码更易维护,更易阅读,等等。。
重写是子类覆盖父类的相同方法,以提供更具体的实现
重载就是让相同方法接收不同的参数,实现不同功能
2,重构是项目周期中的一种过程,比如项目进展到最后,可能要重构,优化代码什么的。
1和2不是不要混了
public void getA(){
System.out.println("This is A");
}
public void getA(int a){
System.out.println("This is A for "+a);
}
}重写class A{
public void getA(){
System.out.println("This is A");
}
}class AA extends A{
public void getA(){
system.out.println("This is AA");
}
}