overload  :

public class PenDemo {
    public static void pen(){
        System.out.println("我是一支黑色的钢笔");
    }
    public static void pen(String color){
        System.out.println("我是一支"+color+"的钢笔");
    }
    public static void main(String[] args) {
        pen();
        pen("蓝色");
    }
}

方法重载(overload):

归纳:二个同,一个不同。

二个同:类名相同,方法名相同,一个不同:形参列表不同。

注意:1、方法重载与返回值类型没有任何关系。

2、方法重载与是否有static 没有任何关系。


overrider:

public class Parent {

    protected void Company(){
        System.out.println("公司总部");
    }
}
@Overrider
public class Son extends Parent {
    public void Company(){
        System.out.println("我是子公司总部");
    }
}

方法重写(override):两同、两小、一大。

两同:方法名相同、形参列表相同。

两小:1、子类重写的方法的返回值必须必父类方法的方法值更小或相等。

            2、子类重写的方法的抛出的异常必须必父类方法抛出的异常更小或相等。

一大:子类方法访问权限必须必父类方法访问权限更大或相等。

override:让编译器执行严格的检查,要求被修饰的方法,必须重写父类方法。