Java基础学习(继承)

众所周知:在生活中儿子继承父母留下来的东西,或者在小说中徒弟继承师傅留下来的功夫或者法宝,那么在Java语言中,也有继承语言,即一个类继承另一个类里的变量

  • 继承的概念
    多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。

  • 继承格式
    在子类面前加入extend父类名{}

      	class 子类名 extend 父类名{}
    

继承虽然可以很方便的用一个类来写其他类的重复项,提高了代码的复用性和维护性,而且让类之间产生联系,但是增加了代码的耦合性。开发的原则就是高内聚低耦合。

  • 继承特点
    1.类只能继承父类所有非私有的成员(成员方法和成员变量)
    2.子类不能继承父类的构造方法,但是可以通过super(待会儿讲)关键字去访问父类构造方法。
    3.不要为了部分功能而去继承
    他体现的是一种“is a”的关系;

  • 继承中的成员变量关系(成员方法类似)
    1.子类中的成员变量和父类中的成员变量名称不一样
    2.子类中的成员变量和父类中的成员变量名称一样
    在子类中访问一个变量的查找顺序(“就近原则”)
    a: 在子类的方法的局部范围找,有就使用
    b: 在子类的成员范围找,有就使用
    c: 在父类的成员范围找,有就使用
    d:如果还找不到,就报错

  • super介绍
    子类局部范围访问父类成员变量
    就和this类似,this引用的是本类对象,super引用的是父类的对象
    super.成员变量/成员方法名,super(参数)访问父类有参构造。
    super()访问父类无参构造。
    其中每一个子类的构造方法中第一条都是super()访问父类空参构造方法。
    父类如果没有无参构造方法怎么办呢?
    第一种办法就是给父类加入一个无参构造
    第二种就是通过super(参数)来访问父类中的有参构造
    第三种就是通过this去调用本类的其他构造方法,但是被调用的构造方法必须首先访问了父类的构造

  • 方法重写概述
    方法重写定义:
    子类中出现了和父类中一摸一样的方法声明(方法名,参数列表,返回值类型)。
    Override:关键字可以检测本方法是不是覆盖了父类中的方法。
    当子类中需要父类的功能,而功能主题子类有自己特有的内容时,可以重写父类中的方法。
    举个例子看这个代码

在这里插入图片描述运行结果是:
在这里插入图片描述

所以可以看到这个call方法被重写了,输出的结果加入了播放天气预报。

但是其中注意
1.父类中私有的方法不能被重写。因为私有根本就无法被继承
2.子类重写方法时,访问权限不能更低。
3.如果父类用了静态static,子类也必须加上static

  • final关键字

final是我们不想让他方法重写的时候写出的关键字,用了final,方法就无法被重写。

final修饰结果
修饰类被修饰的类不能被继承
修饰方法被修饰的方法不能被重写
修饰变量这就变成了一个常量

也就是说基本类型,值不能被改变。而引用类型是,地址值不能被改变。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值