/* 继承中成员函数的特点: 当子父类中出现了一模一样的方法时,会发生一个函数的特性:覆盖(复写,重写) override 覆盖使用注意事项: 1,子类覆盖父类时,必须要保证覆盖方法的权限要大于等于被覆盖的方法的权限。(private public 和空 default) 2,当覆盖方法有静态修饰时,静态只能覆盖静态,或者被静态覆盖。在写法上注意这个部分 */ class Fu { void show() { System.out.println("Fu show Run"); } } class Zi extends Fu { void show() { System.out.println("zi show Run") return 2; } } class ExtendsDemo3 { public static void main(String[] args) { Zi z = new Zi(); z.show(); } } /* 覆盖的应用 覆盖的例子: 描述一个手机,有一个来电显示功能 */ class Phone { void show() { System.out.println("number"); } void call () { } } /* 先新电话继承以后电话就可以获取其功能 继承了父类中的功能后,想要对以后的功能进行内容的改变 意味着功能声明不变,将内容在子类中进行自定义, 这种定义就是覆盖。 */ class NewPhone extends Phone { void show() { System.out.println("name"); super.show(); } } /* class NewPhone { void show() { System.out.println("name"); System.out.println("number") } }*/ class ExtendsDemo3 { public static void main(String[] args) { Zi z = new Phone(); z.show(); } }