全国服务热线:400-6263-705

位置:武汉粤嵌教育IT技术培训机构 > 学校动态 > 类的继承如何重写父类

类的继承如何重写父类

来源:武汉粤嵌教育IT技术培训机构时间:2022/5/30 11:40:13

  类的继承如何重写父类?继承的概念
  
  在Java中,类的继承是指在一个现有类的基础上去产生一个新的类,产生的新类被称作子类,现有类被称作父类,子类会自动拥有父类的属性和方法。例如定义一个Animal类作为父类,该类拥有一个call()方法,当子类Cow和Sheep继承自Animal类时,就会自动拥有call()方法,接下来通过一个图例来描述类的继承关系,如图3-11所示。
  
  动物继承关系图
  
  在程序代码中,如果想定义一个类继承另一个类,需要使用extends关键字。如果一个类没有使用extends关键字明确标识继承另一个类,那么这个类就是默认继承Object类。Object类是所有类的父类,那么该类中的方法适用于他的所有子类,其类中常用的方法有toString()、hashCode()方法等。
  
  注意:
  
  在类的继承中,需要注意以下几个问题,具体如下:
  
  1、在Java中,类只支持单继承,不允许多重继承,也就是说一个类只能有一个直接父类。例如Cow这个类继承Animal之后,就不允许继承其他类。
  
  2、多个类可以继承一个父类,例如Cow和Sheep都可以继承Animal类。
  
  3、在Java中,多层继承是允许的,即一个类的父类可以再去继承其他的父类,例如Zebra类继承自Horse类,而Horse类又可以去继承Animal类,即子孙三代。
  
  重写父类方法
  
  在继承关系中,子类会继承父类中定义的方法,但子类也可以在父类的基础上拥有自己的特征,即对父类的方法进行重写。需要注意的是,在子类中重写的方法必须与父类被重写的方法具有相同的方法名、参数列表以及返回值类型。接下来通过一个案例来演示如何实现子类重写父类的方法。具体步骤如下:
  
  1.创建Animal类
  
  创建一个Animal类,并在类中定义两个方法call()和sleep(),分别在两个方法中输出“动物发出的声音”和“动物在睡觉”的信息,
  
  package com.itheima.example10;
  
  // 定义Animal类
  
  public class Animal {
  
  // 定义动物叫的方法
  
  public void call()
  
  System.out.println("动物发出声音...");
  
  }
  
  // 定义动物睡觉的方法
  
  public void sleep() {
  
  System.out.println("动物在睡觉...");
  
  }
  
  }

  
  2.创建Cow类创建一个Cow类,使其继承Animal类,并在Animal类重写call()方法,
  

  java1package com.itheima.example10;
  
  // 定义Cow类继承Animal类
  
  public class Cow extends Animal {
  
  // 定义一个打印name的方法
  
  public void call() {
  
  System.out.println("哞...");
  
  }
  
  }

  
  3.创建测试类
  
  创建一个测试类Example10,分别调用call()方法和sleep()方法,
  
  
  package com.itheima.example10;
  
  public class Example10 {
  
  public static void main(String[] args) {
  
  Cow c = new Cow(); // 创建一个Cow类的实例对象
  
  c.call(); // 调用Cow重写的call()方法
  
  c.sleep(); // 调用父类Animal的sleep()方法
  
  }
  
  }

  
  
  
  运行结果可以看出,当子类继承父类的时候,会拥有父类中所有的成员,由此可知,在调用sleep()方法时,会自动调用父类的sleep()方法。当子类重写了父类方法之后,创建的子类对象会自动调用重写的方法,即调用的是子类的call()方法。
  
  注意:子类重写父类方法时,不可以使用比父类中被重写的方法更严格的访问权限,如:父类中的方法是public的,子类的方法就不可以是private的。
领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/5732/news/531141/违者必究! 以上就是武汉粤嵌教育IT技术培训机构 小编为您整理 类的继承如何重写父类的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6263-705