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 }