java基础 继承

 1 /**
 2  * 在子类的继承关系当中,创建子类对象,访问成员方法的规则:
 3  *      创建的对象是谁,就优先用谁,如果没有则向上找。
 4  *  注意事项:
 5  *  无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类。
 6  *
 7  *  重写(Override)
 8  *  概念:在继承关系当中,方法的名称一样,参数列表也一样
 9  *
10  *  重写(Override):方法名称一样,参数列表【也一样】。覆盖、复写
11  *  重载(Overload):方法名称一样,参数列表【不一样】
12  *
13  *  方法的覆盖重写特点,创建的是子类对象,则优先用子类方法。
14  *
15  * 方法覆盖重写的注意事项:
16  * 1、必须保证父子类之间的名称相同,参数也相同。
17  * @Override:写在方法前面,用来检测是不是有效的正确覆盖重写。
18  * 2、子类方法的返回值【小于等于】父类方法的返回值范围。
19  * 小扩展提示:java.lang.Object类是所有类的公共最高父类,java.lang.String就是Object的子类。
20  * 3、子类方法的全县必须【大于等于】父类方法的权限修饰符
21  * 小扩展提示:public > protected > (default) > private
22  * 备注:(default)不是关键字,而是什么都不屑,留空
23  *
24  */
25 public class Demo01ExtendsMethod {
26     public static void main(String[] args) {
27         Zi zi = new Zi();
28 
29         zi.methodFu();
30         zi.methodZi();
31 
32         //创建的是new了子类对象,所有优先用子类方法
33         zi.method();
34 
35     }
36 }
1 public class Fu {
2     public void methodFu(){
3         System.out.println("父类方法执行");
4     }
5 
6     public void method(){
7         System.out.println("父类重名方法");
8     }
9 }
 1 public class Zi extends Fu {
 2     public void methodZi(){
 3         System.out.println("子类方法执行");
 4     }
 5 
 6     public void method(){
 7         System.out.println("子类重名方法");
 8     }
 9 
10 }
原文地址:https://www.cnblogs.com/mantishell/p/11706941.html