重载的规则:
①必须具有不同的参数列表。
②可以有不同的访问修饰符。
③可以抛出不同的异常
重写方法的规则:
①参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。
②返回的类型必须与被重写的方法的返回类型相同,否则不能称其为重写而是重载。
③访问修饰符的限制一定要大于被重写方法的访问修饰符。
④重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。
Static
1.静态变量以及方法是类以及类的所有实例所共享的,静态剥离了特有属性和方法的限制。
2. 静态方法只能访问静态方法和静态成员变量,main主方法就是一个例子。若一定需要访问非静态方法和非静态成员变量,需要先在静态方法中创建该类的对象,由对象调用非静态成员方法和非静态成员变量。
3. 静态方法和静态成员变量可以直接由 类名.静态方法(静态变量) 的方式调用。
4.静态方法可以被子类继承和重载,但是不能被子类重写。
5.如果子类中的静态方法和父类的静态方法名,参数,返回值类型都一样,这是被允许的,属于再次声明。
换句话说,父类和子类中含有的其实是两个没有关系的方法,它们的行为也并不具有多态性。因此,通过一个指向子类对象的父类引用变量(向上继承)来调用父子同名的静态方法时,只会调用父类的静态方法。最终测试结果如下: