首页 > 代码库 > Java学习(九)重载和重写

Java学习(九)重载和重写

重载:一同一不同。方法名相同,参数列表不同。至于方法的其他部分,如方法返回值类型、修饰符等,与方法重载没有任何关系。
不能用返回值来区别重载的原因是:比如现在有两个方法int f(), String f(),当我们调用f()方法时,如果指定其返回类型,int a = f();那么此时调用的是int f()方法,但是当我们直接f()这样调用时,就不能区别了,所以不能通过返回值的不同来确定重载。

重写:两同两小一大。
         两同:方法名相同、形参列表相同。
         两小:子类方法返回值类型应比父类方法返回值类型更小或者相等;子类方法声明排除的异常应比父类方法抛出的异常更小或者相等。
         一大:子类方法的访问权限应比父类方法更大或者相等,尤其需要指出的是,覆盖方法和被覆盖方法要么都是类方法,要么都是实例方法,不能一个是类方法,一个是实例方法。

Java学习(九)重载和重写