继承的基础知识

继承的概念
继承一般是指晚辈从父辈那里继承财产,也可以说是子女拥有父母给与他们的东西。而在面向程序设计中,继承的含义与此类似,继承的实体是类(继承是子类拥有父类的成员)
例如:
在动物园中有许多的动物,而这些动物又具有相同的属性和行为,这就可以编写一个动物的类Animal(在该类中包括所有的动物均有的属性和行为,即是父类)但是呢,不同的动物之间肯定有属于自己特有的属性,像鱼可以在水里存活,但是陆地的生物却不可以,像鸟可以在天上飞,而陆地生物也是不可以;这里我们就可以建立一个鸟类Bird,由于鸟类是属于动物类,所以它应该具有动物类所共同拥有的属性和行为,因此,在建立Bird类(子类)是就可以继承于父类Animal。
这样不但可以节省程序的开发时间,还可以提高代码的可重用性。(优点)

子类对象的创建

在类的声明中,可以使用关键字extends来显示地指明其父类

而对于修饰符(用于修饰指定类的访问权限)
可选: public abstract fainal
public 为公开的
abstract 为抽象类
fainal 只能被赋值一次,后面不可再改变
(这三可能说的不够准确)
语法格式:

[修饰符] class 子类名 extends 父类名

eg:定义一个Cattle类,该类继承于父类Animal,即Cattle类是Animal类的子类的子类
class Cattle extends Animal{

}

继承的使用原则

子类可以继承父类中所有可悲子类访问的成员变量和成员方法,但必须遵循一下原则:
1 子类能够继承父类中被声明为 pubic 和 protected 的成员变量和成员方法,但不能继承父类中被声明为private的成员变量和成员方法。
2 子类能够继承再同一个包中的由默认修饰符的成员变量和成员方法。
3 如果子类声明了一个与父类的成员变量同名的成员变量,则子类不能继承父类的成员变量,此时成子类的成员变量隐藏了父类的成员变量
4 如果子类声明了一个与父类的成员方法同名的成员方法,则子类不能继承父类的成员方法,此时称子类的成员方法覆盖了父类的成员方法。

使用super关键字
子类可以继承父类的非私有成员变量的成员方法(不是以private关键字修饰的),但是,如果子类中声明的成员变量与父类的成员变量同名,那么父类的成员变量将被隐藏。这是如果想再子类中访问父类中被子类隐藏的成员变量或者被子类覆盖的成员方法,就可以使用super关键字

super关键字的主要用途有以两种
1调用父类的构造方法
2操作被隐藏的成员变量和被覆盖的成员方法

子类的继承
子类中的一部分成员是子类自己声明、创建的,另一部分成员是通过它的父类继承的。再Java语言中,Object类是所有类的祖先类,也就是说任何类都继承字Object类。除Object类意外的每个类有且仅有一个父类,一个类可以有偶零个或多个子类。

1同一个包中的子类与父类
2非同一个包中的子类与父类
3继承关系的UML图
4继承中的protect

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值