详解java中的重载与重写
2017-10-22 00:43
197 查看
1.重载(Overload)与重写(Override)的概念:
重载:重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数列表却不相同,方法体也不相同,最常见的重载就是类的构造方法(也可以说,构造器是强制重载方法名的一个主要的原因)。重写:重写就是子类的方法覆盖父类的方法,要求子类方法名与参数列表都与父类相同。
2.如何判断两个及两个以上的方法是否重载:
重载的判断取决于传入的参数列表:(1).参数类型不同
(2).参数顺序不同
(3).参数个数不同
注意:不能根据方法的返回值类型来判断是否重载,例如:
public int A(int i);
public double(int i);
这两个方法不能构成重载。
3.关于重写:
重写发生在父类与子类之间。当子类覆盖了父类中的方法时,子类对象则无法再访问父类中被覆盖的方法,如果子类对象想要调用父类中的方法,则需使用super关键字。但是需要注意的是:静态方法可以被子类继承,但是不能被重写。如果父类中有一个静态的方法,子类也有一个与父类名,参数类型,参数个数都一样的方法,并也用static修饰,子类会把原方法隐藏掉,通俗讲就是父类的方法和子类的方法是两个没有关系的方法。只有普通方法的调用是可以多态的。除此之外,还需注意的一点是:覆盖方法和被覆盖方法要么都是实例方法,要么都是类方法。总结(方法重写要遵循“两同两小一大”原则):
(1).两同:方法名相同,参数列表相同。
(2).两小:①子类返回值类型比父类方法更小或相等
②子类方法声明抛出的异常应比父类方法声明抛出的异常类更小或相等。
(3).一大:子类方法的访问权限硬币父类的访问权限更大或相等。
4.重载代码示例:
5.重写代码示例:
相关文章推荐
- Java中覆盖、重写、重载详解
- java 重载、重写、构造函数详解
- java方法重载和重写的代码区别详解
- java 重载、重写、构造函数详解
- Java 重载、重写、构造函数详解
- Java 重写与重载方法与区别详解
- Java 中重写(Override)与重载(Overload)详解
- Java 重写和重载的详解
- java中重载与重写的区别详解
- Java 重载、重写、构造函数的实例详解
- Java 重载、重写、构造函数详解
- java 重载(overload)与重写(override)详解及实例
- JAVA面试题解惑系列(九)——继承、多态、重载和重写
- java中方法的重载与重写的区别
- JAVA重载和重写的区别
- 常见Java面试题 – 第三部分:重载(overloading)与重写(overriding)
- java中的重写与重载
- java中的重写与重载
- JAVA - 函数重载和重写
- Java基础学习总结(11)——重载与重写