继承

        继承由来是什么:当我们在定义若干个类的时候,发现某一些类中具有相同的属性和行为
        那么,我们就可以将这些相同的部分进行抽取,独立生成另外一个类,那么这个生成出来
        的类我们称之为是父类,其他的被抽取内容的类称之为子类。

  • 子类与父类之间就是所谓的继承关系 用 extends来表示
  •     那么在现实生活中,父与子之间的一对多 还是多对多的关系?
  •     所以 在Java当中 继承是单继承(一个子类只能有一个父类,但是一个父类可以有若干个子类)
  •     当然,在C++中,继承是多继承的,不太符合实际的社会问题,所以Java更加符合现实编程
  •     (不代表Java当中就没有多继承的时候!如果是类与类之间 必须是单继承;如果是接口与接口之间,可以是多继承)
  •     既然有了继承,那么在Java当中就有了继承体系
  •     (既然有了父子关系,是不是就产生出了族谱这个东西)
  •     先说一点:我们常用的继承体系 异常体系 集合体系 IO体系 网络体系 多线程体系
  •     C->B->A->?->?->龙的传人/炎黄子孙
  •     C就是B的儿子,那么A就是C的爷爷
  •     在Java继承体系当中,所有类的最终父类都是Object!Object就不存在爸爸了
  •     如果我们在定义一个类的时候,没有显著声明父类的时候 那么该类的父类默认是Object
  •     注意一点:在分析设计继承的时候 一定要符合社会常识问题 
  •             子类 和 父类 之间 必须是 is a 关系 子类必须父类的一种 同一系列的
  •             she is a Girl  ; he is a boy ; he is a ladyboy ; 旺财 is a Dog 
  •         所以,千万不要为了获取某一个类的功能而把这个类叫爸爸!

 继承关系特点总结:

Java语言的继承关系:是一种单继承的关系

  1. 一个子类只能有一个父类,而一个父类可以有多个子类
  2. 子类可以可以使用父类的属性和方法 ,但是父类不能够访问子类独有的属性和方法
  3. 创建子类对象时 先执行父类的构造方法 ,然后在执行子类的构造方法
  4. 使用super关键字 去调用父类的构造方法

super父类的引用 超类的引用 基类的引用 用法和this关键字类似

 

如果在父类中加入静态代码块 在子类中也加入静态代码块 那么创建子类对象时,它的执行顺序是什么样子的?

执行顺序:

父的静态代码块------子类的静态代码块 -------父类的构造方法 -----子类的构造方法

 

子父类中成员变量/静态变量的特点:
        如果只有子类有且非私有 那么就调用子类的
        如果只有父类有且非私有 那么就调用父类的
        如果子父类都有且非私有 那么就调用子类的
        (成员变量之间 是不存在重写关系的!!!)
        子类.属性 顺序:子类对象成员->子类静态->父类成员->父类静态
        子类成员函数在内部调用变量时 局部变量->子类对象成员->子类静态->父类成员->父类静态
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值