11.29

  1. 重载(overload):是指在同一个类中,多个方法拥有相同的方法名,但参数列表必须
    不同(参数个数或参数类型或参数次序不同)。
    方法重载与修饰符、返回类型无关,可以相同,可以不同。
class Animal{
  public int add(int a,int b){
       System.out.println("add(int a,int b)");
       return a + b;
   }
   public double add(double a,double b){
       System.out.println("add(double a,double b)");
       return a + b;
   } }
  1. 重写(override):是指子类继承父类,子类对父类的方法进行重新编写,但方法名、
    参数列表与返回类型必须一致,方法体不同。
   class Animal{
    public int getAge(){
        return age;
    } }
class Dog extends Animal{
    public int getAge(){
        System.out.println("子类中的getAge()....");
        return age;
    } }

注:(1)声明为static和final的方法不能被重写;
(2)构造方法不能被重写;
(3)不能被继承的方法也不能被重写;
(4)调用父类中的原方法时使用 super.方法名()。

  1. 区别:
    1. 返回类型不能作为区别重载与重写的标准。
    2. 访问修饰符的限制必须大于被重写方法的修饰符;而重载可以是任意的修饰符。
    3. 重写方法不能抛出新的检查型异常,也不能抛出比父类更宽泛的检查型异常;
    而重载可以抛出任意的异常。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 1,183评论 0 2
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,141评论 0 62
  • 累的时候, 你是叹气,还是快乐。 叹气是一种人生, 快乐也是一种人生, 在于你……
    小剧在成长阅读 203评论 2 3
  • 始于颜值, 限于才华, 终于人品。
    曾滔阅读 193评论 0 0