前言
提到重载与重写,大家最熟悉的地方莫过于自己封装一个枚举类或者框架中的底层实现类吧?我们经常用着底层的框架技术,但是底层的原理可能不太明白。下面我就来通过Java类的三大特性——封装、继承、多态的具体实现:重载与重写来深入剖析Java的设计原理,让大家可以简简单单写底层源码!
根本区别
根本区别: 重载是一个父类方法多个不用的子类功能,重写是一个父类方法多个相同的子类功能.
相当于重载是在创造方法,重写是给子类使用方法!
构造函数是为了在类加载时初始化多个变量的值,也可以在new对象时初始化值!
详细对比
1、使用static修饰的方法只能执行一次,不能再次被实例化; 2、构造函数是一种特殊的方法,方法名与类名相同,构造函数是重载的一种实现,构造函数不能被重写(因为构造函数是一个无自己方法的类型-采用this全局引用符引用的本类中的参数、无自己的返回值-返回值是本类参数的、类名与参数名相同,这三点也就导致构造函数不满足重写的条件——必须修改父类的参数的值,没有返回值就无法修改值,因此子类无法继承父类的方法——总之重载的方法无法被重写,因此已经回不到父类的默认方法了——再底层一点就是:重载是创建一个新的同名方法来扩容原方法参数与功能,从本质上调用的是一个新方法;而重写是在原方法的基础上改变参数的值来实现原