java继承中方法的覆盖重写
重写(Override)
概念:在继承关系当中,方法的名称一样,参数列表也一样.
注意事项:
1.必须保证父子类之间方法的名称相同,参数也相同.
@Override:写在方法前面,用来检测是不是有效的正确覆盖重写.
@Override就算不写只要满足要求,也是正确的方法覆盖重写.
2.子类方法的返回值必须小于等于父类方法的返回值范围
java.lang.Object类是所有类的公共最高父类(祖宗类),java.lang.String就是Object的子类.
3.子类方法的权限必须大于等于父类方法的权限修饰符.
public > protected > default > private
(default)不是关键字default,而是什么都不写,留空

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| package xiaochenyan.top.Demo001;
public class Main01{ public static void main(String[] args) { Fu fu = new Fu(); Zi zi = new Zi();
System.out.println(fu.num); System.out.println(zi.num);
System.out.println("=============================================");
zi.show();
} }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| package xiaochenyan.top.Demo001;
public class Zi extends Fu{ int num;
Zi(){ num = 200; }
@Override public void show() { super.show(); int num = 10; System.out.println(num); System.out.println(this.num); System.out.println(super.num); } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| package xiaochenyan.top.Demo001;
public class Fu{ int num;
Fu(){ num = 100; }
public void show() { System.out.println(num); } }
|