第1个回答 推荐于2017-09-20
重写:当一个子类继承一父类,而子类中的方法与父类中的方法的名称,参数个数、类型都完全一致时,就称子类中的这个方法重写了父类中的方法。
例如:
public class A{//定义类A
public void s(){//定义方法s
}
}
public class B extends A{//定义子类B,继承A
public void s(){//重写父类A的方法s
}
}
重构(Refactoring)就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性,系统发展到一定阶段后,使用重构的方式,不改变系统的外部功能,只对内部的结构进行重新的整理。通过重构,不断的调整系统的结构,使系统对于需求的变更始终具有较强的适应能力。
第4个回答 2013-04-17
重写:override,又叫方法重写或者方法覆盖, 指发生在有父子关系的子类中, 要求访问控制权限修饰符(public protected default private)不能更加严格, 方法签名(返回类型,方法名,参数列表的个数顺序类型)必须相同, 抛出的异常不能更加广泛.例如:
父类中: public void doQuery(String str, Map map) throws Exception;
那么子类中: public void doQuery(String str, Map map) throws SQLException{}
public为最高权限,所以子类只能为public. 如果父类为private,那么子类中可以为任何修饰符.
void doQuery(String str, Map map)必须完全一样.
throws Exception 父类抛出所有异常, 子类中可以抛出Exception和Exception的子类异常.
如果父类抛出IOException, 那么子类只能抛出IOException和IOException的子类异常.
重构:overload, 又叫方法重载或者方法过载, 指发生在本类当中的, 方法名称相同但是参数列表不同的方法(参数列表包括个数顺序类型). 例如:
类中:public void doQuery(String str);
public String doQuery(Map map);
public void doQuery(String str, Map map);
一个类中以上三种方法都属于重构.