面向对象的三大特性之一:继承(建立类之间的关系,实现代码复用,方便系统的扩展)

继承的好处:

①实现代码重用,减少代码冗余

②便于功能的拓展,方便修改代码

③为之后多态性的使用,提供了前提

④将子类共有的属性和行为放到父类

⑤符合is-a关系的设计使用继承(与真实世界类似)

继承性的格式:

class A extends B{}

A:子类、派生类

B:父类、基类

体现:一旦子类A继承父类B之后 子类A中就获取了子类B所有的属性和方法

特别的:父类中声明private的属性和方法,子类继承父类以后,仍然认为获取了父类中的私有的结构,只有因为封装性的影响,使得子类不能直接调用父类结构而已。

语法:

修饰符 SubClass extends SuperClass { //类定义部分 }

注意:不可以使用private和protect修饰类,继承要符合is-a关系

如果修饰符是public 则该类在整个项目中可见,若无public修饰符则该类只在当前包可见

子类继承父类之后,还可以声明自己特有的属性或方法:实现功能的拓展。

使用继承:Java中通过extends关键字实现继承

  • 子类访问父类成员:
    • 1、通过this关键字
    • 2、通过super关键字
      • super(); //无参构造
      • super(name); //有参构造
    • this():调用无参构造
    • this("柳柳",15):调用有参构造
    • 必须把调用放在第一行

注:默认情况下,实例化子类对象,系统会先去调用父类无参构造方法再去调用子类无参构造方法

    • 默认情况下,子类中的构造方法会隐式调用父类的无参构造方法

Java中关于继承性的规定:

①Java只支持单继承和多层继承,不允许多重继承(C++支持)

②一个类可以被多个子类继承

③Java中的单继承性:一个子类只能有一个父类

④子父类是相对的概念

⑤子类直接继承的父类称为:直接父类,间接继承的父类称为:间接父类

⑥子类继承父类以后,就获取了直接父类以及所有间接父类中声明的属性和方法

object类的理解

①如果没有显式声明一个类的父类,则此类继承于Java.lang.object类

②所有的Java类(除Java.lang.object类之外)都直接或间接继承于Java.lang.object类

③意味着,所有的Java类都具有Java.lang.object类声明的功能

子类访问父类成员(使用super关键字,super代表父类对象)

①访问父类构造方法(在子类构造方法中调用且必须是第一句)

super();

super(name);

②访问父类属性

super.name;

③访问父类方法

super.print();

注:super只能出现在子类的方法和构造方法中

super调用构造方法时,只能是第一句

super不能访问父类的private成员

父类不能被子类继承的父类成员

①private成员

②子类与父类不在同包,使用默认访问权限的成员

③构造方法

访问修饰符protected

①可以修饰属性和方法

②本类、同包、子类可以访问

多重继承关系的初始化顺序

父类属性-->父类构造方法-->子类属性-->子类构造方法

构造方法不能被重写,因为它不能被继承

方法重写的规则:(三同一不同)

快捷键:Ctrl+O

  • final修饰符:
    • 修饰的类,不能再被继承
    • 修饰的方法,不能被子类重写
    • 修饰的变量将变成常量,只能在初始化时进行赋值
    • 使用final修饰引用型变量,变量的值是固定不变的,而变量所指向的对象的属性值是可变的
  • 抽象类和抽象方法:限制实例化
    • 抽象类不能被实例化
    • 抽象类可以有0~多个抽象方法
    • 非抽象子类必须重写父类的所有抽象方法
  • abstract也可用于方法——抽象方法
    • 抽象方法没有方法体
    • 抽象方法必须在抽象类里
    • 抽象方法必须在子类中被实现,除非子类是抽象类
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值