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

什么是继承

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

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

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

关键字是extends

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

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

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

语法

public class 子类 extends 父类{
    代码段
}

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

public class A{
private int i;
protected int j;
public void f(){
    }
}
//另外一个类  B.java文件名
public class B extends A{
public int z;
public void fun(){

}
}

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

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


IS-A关系

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

下面是使用extends实现继承

public class Animal{
}

public class Mammal extends Animal{
}

public class Reptile extends Animal{
}

public class Dog extends Mammal{
}
  • 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属性外的所有属性

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值