javase知识点 ----7 (类与类之间的关系 ------继承--------)

关联关系:一个类做为另一个类的属性类型存在。has-a
依赖关系:一个类作为另一个类的参数类型存在。use-a

--------------------------------继承-------------------------------------------------

1、定义:子类能吸收已有类的数据属性和行为,并能扩展新的能力。
2、声明形式:【访问权限修饰符】【修饰符】子类名  extends  父类名{子类体}
   注意:1、子类只能继承父类所有非私有的成员(成员方法和成员变量)
         2、Java只支持单继承,不支持多继承。Java支持多层继承(继承体系)
         3、不要为了部分功能而去继承

3、继承中的成员变量:
      在子类方法中访问一个变量
      1、首先在子类局部范围找
      2、然后在子类成员范围找
      3、最后在父类成员范围找(肯定不能访问到父类局部范围)
      4、如果还是没有就报错。(不考虑父亲的父亲…)

4、super和this区别
   1、this代表本类对应的引用。
   2、super代表父类存储空间的标识(可以理解为父类引用)
   用法(this和super均可如下使用)
   (1)访问成员变量
        this.成员变量    super.成员变量
   (2)访问构造方法
        this(…)        super(…)
   (3)访问成员方法
        this.成员方法()    super.成员方法()
    注:1、this关键字必须放在非静态方法里面
        

5、继承中构造方法的关系
   1、子类中所有的构造方法默认都会访问父类中无参数的构造方法。为什么?子类初始化之前,一定要先完成父类数据的初始化。每一个构造方法的第一条语句默认都是:super()
   2、子类可以通过super去调用父类所有的构造方法。eg:super();
   3、子类通过this去调用本类的其他构造方法  eg:this();   本类其他构造也必须首先访问了父类构造
   4、super(…)或者this(….)必须出现在第一条语句上,所以在同一个构造方法中只能出现一个


6、继承中的成员方法
     通过子类对象去访问一个方法
     1、首先在子类中找
     2、然后在父类中找
     3、如果还是没有就报错。(不考虑父亲的父亲…)

7、方法覆盖:
   1、原则:在继承关系中,同名、同参、同返回值、访问权限不能缩小。
   2、什么时候用?如果子类需要修改从父类继承到的方法的方法体,就可以使用方法覆盖(重写)。

8、final修饰符
   1、final修饰属性、局部变量,值不能被修改
   2、final修饰类,不能被继承
   3、final修饰方法,不能被子类覆盖
   注意:String类可以继承吗 ? 不可以,因为String类是被final修饰的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值