方法的重写与重载

方法重写:需要有继承关系,子类从写父类方法

规则:

1、方法名必须相同;必须是非静态方法,即方法返回类型前没有修饰符static

2、参数列表必须相同;

3、修饰符:范围可以扩大但不能缩小 ;             Public>Protected>Default>private

4、抛出异常:范围可以缩小但不能扩大;          ClassNotFoundException  --> Exception(大)

总而言之:子类的方法和父类必须一致,而且 方法体(内容)不同;

为什么要重写方法: 父类的功能,子类不一定需要;而子类需要的,父类不一定有。

 IDEA 方法重写的快捷键: Alt+Insert  选择override

实例:

public class B{

 public  void test(){

    System.out.println("B-->test()");

  }

}

public class A extends B{                                                

  public  void test(){                                                     //子类从写父类方法, 方法重写

    System.out.println("A-->text()")

  }

}

public class Demo{

  public static void main(String[] args){

    A a=new A();

      a.test();       //A-->text()

    B b=new A();

    b.test();      //B-->test()           ,父类的引用指向子类

  }

}

由输出结果可知道: 方法的调用只和左边,定义的数据类型有关;

方法重载:必须在同一个类中才能实现方法的重载

1、方法名必须相同,返回的类型相同;

2、参数列表必须不相同,可以是参数个数、参数类型不同;

例:public int add(int a ,int b){...}       与public int add(double a, double b){...}

原文地址:https://www.cnblogs.com/bbq668/p/12000357.html