一、你是如何理解重载和重写的?
重写(override)又名覆盖:
1.只能存在继承或实现关系的类中;
2. 方法名称相同,参数列表相同,方法返回值相同,
3.子类方法的访问修饰符要大于等于父类的。
4.子类的检查异常类型要小于父类的检查异常。
重载(overload)
1.可以发生在一个类中也可以在继承关系的类中;
2.方法名相同,参数列表不同(个数,顺序,类型);
3.与方法的返回值类型无关。
二、Java中是否可以覆盖一个私有的或静态的方法
1.Java 中的 static 方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而 static 方法
是编译时静态绑定的。
2.static 方法跟类的任何实例都不相关,所以概念上不适用。
3.java 中不可以覆盖 private 的方法,因为 private 修饰的变量和方法只能在当前类中使用,如果是其他的类继承当前类是不能访问到 private 变量或方法的,所以也不能覆盖。