方法的重写与重载
方法重写:需要有继承关系,子类从写父类方法
规则:
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){...}