重载的话是出现在同一个类中,重载的条件:跟返回值类型无关,只看参数列表中的参数类型和个数。
以下情况就是重载。- class Fu{
-
- public void show()
- {
-
- }
-
- public int show(int a)
- {
- return a;
-
- }
- public int show(int a,int b)
- {
- return a;
- }
- }
复制代码 重写的前提条件是,必须实现继承或者实现接口。而且 子父类方法必须一模一样。
总结:
1.要实现方法的重写,必须存在继承关系。
* 2.如果父类使用private 将变量或函数私有化,子类是无法继承的,也就不存在重写。
* 3.子类覆盖父类中的方法,必须保证子类权限大于或等于父类权限,否则编译失败。
* 4.静态只能覆盖静态,原因:static随着类的加载而加载,也就是先进内存,实例方法通过new 才进内存。不能覆盖还不存在的东西。
重载:只看同名函数的参数列表。
重写:子父类方法要一模一样。
|