先看下C#中的:

C#中覆盖 隐藏 重写这三种有不同的意义,而Java中不同。

1. java中没有new ,使用new会报错,编译不通过。

2. java中重写和覆盖应该是一个意思

复制代码
static class Human {
        protected void sayHello() {
            System.out.println("human");
        }
    }

    static class Man extends Human {
        protected void sayHello() {//不会有警告,直接重写或覆盖了
            System.out.println("man");
        }
    }
复制代码

3. 关于Override关键词是可写可不写,区别是写了的话编译器在编译时会帮忙检查一下。