重载和重写的区别
override(重写)
-
方法名、参数、返回值相同。
-
子类方法不能缩小父类方法的访问权限。
-
子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
-
存在于父类和子类之间。
-
方法被定义为final不能被重写。
overload(重载)
-
参数类型、个数、顺序至少有一个不相同。
-
不能重载只有返回值不同的方法名。
-
存在于父类和子类、同类中。
final
1)final修饰的方法,不允许被子类覆盖。
2)final修饰的类,不能被继承。
3)final修饰的变量,不能改变值。
static
static和“this、super”势不两立,static跟具体对象无关,而this、super正好跟具体对象有关。
static不可以修饰局部变量。
static修饰的属性的初始化在编译期(类加载的时候),初始化后能改变。
static修饰的对象只有一个值。