当前位置:   article > 正文

Java中级-面向对象-继承(extends)_public class extends

public class extends

什么是继承

继承是所有oop语言和Java语言不可缺少的组成部分

继承是Java面向对象编程技术的一块基石,是面向对象三大特征之一,也就是实现软件复用的重要手段,继承可以理解为一个对象从另一个对象获取属性的过程

如果类A是类B的父类,而类B是类C的父类,我们也称类C是A的子类,类C是从类A继承而来的。在Java中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类

关键字是extends

关键字的使用决定了一个对象和另一个对象是否是IS-A(是一个)关系

通过使用这两个关键字,我们能实现一个对象获取另一个对象的属性

所有Java的类均是有java.lang、Object类继承过来的,所有Object是所有类的祖先,除了Object外,所有类必须有一个父类

语法

  1. public class 子类 extends 父类{
  2. 代码段
  3. }

通过extends关键字可以申明一个类是继承另外一个类而来的,一般形式如下:

  1. public class A{
  2. private int i;
  3. protected int j;
  4. public void f(){
  5. }
  6. }
  7. //另外一个类 B.java文件名
  8. public class B extends A{
  9. public int z;
  10. public void fun(){
  11. }
  12. }

上述代码说明,类B由类A继承而来,类B是类A的子类,而类A是Object的子类

作为子类,类B的实例拥有类A所有的成员变量,但对于private类型的成员变量B却没有权限访问,这保障了A的封装性


IS-A关系

IS-A就是说:一个对象是另一个对象的分类

下面是使用extends实现继承

  1. public class Animal{
  2. }
  3. public class Mammal extends Animal{
  4. }
  5. public class Reptile extends Animal{
  6. }
  7. public class Dog extends Mammal{
  8. }
  • Animal 类是 Mammal 类的父类。
  • Animal 类是 Reptile 类的父类。
  • Mammal 类和 Reptile 类是 Animal 类的子类。
  • Dog 类既是 Mammal 类的子类又是 Animal 类的子类。

IS-A关系表

  • Mammal IS-A Animal
  • Reptile IS-A Animal
  • Dog IS-A Mammal

因此 : Dog IS-A Animal


通过使用关键字extends,子类可以继承父类的除private属性外的所有属性

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/78775
推荐阅读
相关标签
  

闽ICP备14008679号