先看下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关键词是可写可不写,区别是写了的话编译器在编译时会帮忙检查一下。