封装继承 (4)

​ 2 和返回值,访问修饰符无关。

7.1 方法重写 在继承过程中,子类中从父类继承来的方法无法满足自己的需求时,可以在子类中对父类方法进行完善,这个完善过程叫做方法重写(override),方法的重写相当于在子类中覆盖父类中的方法。

案例:

public class Animal { //属性 String nickname; String color; String strain; //默认构造方法 public Animal() { System.out.println("父类Animal的构造方法执行了.........."); } //带参构造方法() public Animal(String nickname,String color,String strain) { this.nickname=nickname; this.color=color; this.strain=strain; } //打印方法 protected Object printInfo() { System.out.println("本动物 昵称:"+nickname+" 颜色:"+color+" 品种:"+strain); return 10; } } public class Dog extends Animal{ int love; //默认构造方法 public Dog() { super();//调用父类的默认构造方法 System.out.println("Dog子类的构造方法执行了"); } //带参构造方法 public Dog(String nickname,String color,String strain,int love) { super(nickname, color, strain);//调用父类的带参构造 this.love=love; } /** * 看家 */ public void lookHome() { System.out.println(nickname+"正在给主人看家...."); } /** * 重写 :覆盖 * 1 方法名相同 * 2 方法参数 返回值类型必须相同 * 3 访问修饰符不能比父类严格 * * java特殊 1.7 返回值 可以和父类兼容就可以,必须是引用类型 */ public String printInfo() { System.out.println("狗狗信息:昵称:"+super.nickname+" 颜色:"+super.color+" 品种:"+super.strain+" 亲密度:"+this.love); return "haha"; } } 7.2 方法重写规则

访问权限 其他修饰符 返回值 方法名(参数列表)

1 在继承过程中,方法名、参数列表、返回值类型必须和父类相同

2 访问修饰符不能比父类严格
java特殊 1.7 返回值可以和父类兼容就可以,必须是引用类型

7.3 方法的重写和方法的重载的区别

​ 方法的重载:Overload,在同一个类中,方法名相同,参数类别不同,互为重载方法。

​ 方法的重写:Override,在继承过程中,在子类中重写父类中继承来的方法,方法名、参数列表、返回值必须相同,访问权限不能比父类严格。

7.4 有关方法重写之后的调用:

​ 只要在子类中重写了父类的方法,通过子类对象调用该方法一定是子类重写的方法。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsspxp.html