覆盖(重写),重构,重载的区别
1:重构:
重构, 是对软计设计方法的描述, 这个层面是架构和设计方法,例如有一个文档一开始叫做:names.txt,过几天你发现这个文档的名字怎么看怎么不顺眼,就是想改名字,这可以叫做是重构。
重构是一个软件维护的通用技巧, 重构的具体做法, 可以通过重写或者重载等, 但不限于此, 更改注释, 更改函数名类名等,都可以称之为重构,重构的目的是为了让软件容易维护, 修改其Bug等.
2:重载:
重载(Overload)就是通过方法的参数识别不同的函数
例如我们对构造函数的重载:
1 package chongzai; 2 3 public class Overloads { 4 private String name; 5 private int age; 6 private String loc; 7 private String sex; 8 private int cour; 9 10 public Overloads(String name, int age, String loc, String sex, int cour) { 11 super(); 12 this.name = name; 13 this.age = age; 14 this.loc = loc; 15 this.sex = sex; 16 this.cour = cour; 17 } 18 19 public Overloads(String name, int age) { 20 super(); 21 this.name = name; 22 this.age = age; 23 } 24 25 public Overloads(String name, int age, String loc, String sex) { 26 super(); 27 this.name = name; 28 this.age = age; 29 this.loc = loc; 30 this.sex = sex; 31 } 32 33 }
重载的规则:
1、必须具有不同的参数列表;
2、可以有不同的返回类型,只要参数列表不同就可以;
3、可以有不同的访问修饰符;
4、可以抛出不同的异常;
5、方法能够在一个类中或者在一个子类中被重载。
3:覆盖(重写):
override(Overwrite)是子类覆盖基类的方法.
package chongzai; public class Father {//父类 public void out(){ System.out.println("woshigg"); } }
1 package chongzai; 2 3 public class Son extends Father{//子类 4 @Override 5 public void out() { 6 // TODO Auto-generated method stub 7 System.out.println("aaaaaaaaaaaaa"); 8 System.out.println("bbbbbbbbbbbb"); 9 } 10 }
子类不想使用父类默认继承过来的方法,自己对方法进行改造;
欢迎评论,一起学习,对大家有用请点个赞。