100天代码提升计划-第12天
继承(二)
区分子类方法名中重名的三种
局部变量 //直接输出
本类成员变量 //this.本类成员变量
父类的成员变量 //super.父类变量
主方法
package Demo03; public class Project { public static void main(String[] args) { ZI zi=new ZI(); zi.fatherr(); } }
子类
package Demo03; public class ZI extends Fu{ int num=20; public void fatherr(){ int num=30; System.out.println(num); System.out.println(this.num); System.out.println(super.num); } }
父类
package Demo03; public class Fu { int num=10; }
二、成员方法访问
1,成员方法重名规则
创建的对象是谁就优先找谁,没有则想上找。
注意事项
无论成员方法还是成员变量,如果没有都是向上找父类,绝对不会出现向下找子类
主方法
package Demo03; public class Project { public static void main(String[] args) { ZI zi=new ZI(); zi.mether(); } }
父类
package Demo03; public class Fu { public void mether(){ System.out.println("父类方法"); } }
子类
package Demo03; public class ZI extends Fu{ public void mether(){ System.out.println("子类方法"); } }
三、重写
重写(override):方法名一样,参数列表一样
重载(overload):方法名一样,参数列表不一样
特点:创建的是子类对象,则优先使用子类方法
注意事项
1.父子类方法名称一样,参数列表一样
@override:写在方法前面,负责检测是否有效存在覆盖重写
2子类方法的返回值要小于等于父类方法返回值范围
object继承的顶端类
3.子类的权限必须大于等于父类的权限修饰符
public>protected>(default)>private
父类
package Demo03;
public class Fu {
String method(){
return null;
}
}
子类
package Demo03; public class ZI extends Fu{ @Override protected String method(){ return null; } }

浙公网安备 33010602011771号