继承关系的初始化顺序
- 父类属性
- 父类的结构方法
- 子类属性
- 构造子类的方法
- 重写方法的规则:
- 方法名相同
- 相同的参数列表
- 返回值列表相同或子类相同
- 访问权限不应严格
方法重写是指当我们在子类中调用父类方法时,我们无法输出子类的独特属性。原因是父类不能直接访问子类属性。此时,我们需要使用方法重写或方法覆盖。那么什么是方法重写呢?
方法重写是指方法名称相同,名称相同,参数列表相同,参数数量和类型要求必须相同,返回值类型相同,或子类,访问权限不得严格于父类,即访问修改符的权限不得低于父类修改符的访问权限。
接下来,根据一个小案例来感受这个知识点。
案例:父类代码如下:
class GZ { private String name; private int age; public String sex; public GZ(){ System.out.println(“父类无参结构方法”); } public GZ(String a,int b,String c){ this.name=a; this.age=b; this.sex=c; System.out.println(“父类有参结构方法”); } public void show(){ System.out.println(“我是父类的结构方法”); }}
子类1代码如下:
class Demo extends GZ { public static void main(String[] args) { GZ input = new GZ(); } public void setSex(String sex){ this.sex=sex; } @Override public void show(){ super.show(); System.out.println(sex); }}
子类2代码如下:
public class Sun { public static void main(String[] args){ GZ input=new GZ(铁锤,18,男”); input.show(); }}
解析:
通过序列号访问,不需要使用,这个地方不能呼叫,这不是一种必要的关系,这是我们看到的重写,重写规则必须,理解和熟练记住,相同的方法名称,相同的参数,返回相同或子类,访问权限,不能言语负担,这是一个关键,我们以前学过一种方法重写,然后我们比较方法重写和方法重写,方法重写,是在子类中重写父类,即覆盖,要求方法名相同,参数相同,返回值相同或子类,访问修饰符不能比父类更严格。
方法重载与方法重写的区别: