JAVA继承特性

       继承是对类中的共性内容进行抽取,抽取到另外一个类中,使原有的类和抽取后的类发生继承关系。继承是JAVA语言的一个很重要的特性。继承使得代码量大大减少,增加了代码的复用性。继承的出现使得类与类之间产生了关系,正是由于继承的出现,才导致了JAVA面向对象的第三个特性,多态。JAVA中只能实现单继承,不能多继承,但是可以实现多层继承。继承是为了解决现实生活中的问题而存在的,

继承时候,子类和父类中成员的特点:

一、 成员变量的特点

    this可以区分本类对象中的成员变量和函数内的局部变量

    super可以区分本类对象中的成员变量和父类对象中的成员变量

    访问原则:

       1 . 函数的就近访问

       2 . 访问本类对象中的成员变量,使用this

       3 . 访问父类对象中的成员变量,使用super

    this表示本类对象

    super 表示,父类的存储位置

    this和super的用法很相似

二、 成员函数的特点

    当子类和父类出现一模一样的函数的时候,看上去,子类是覆盖了父类的方法

    当子类父类函数一模一样的时候,这就是函数的另一个特性,叫做重写,覆盖,复写 override

    子类有运行子类,子类没有运行父类

三、构造函数的特点

    构造函数能否被继承,不能被继承

    构造函数存在覆盖,没有覆盖

    子类的构造函数,会先访问父类构造函数,自动的

    为什么子类会去方位父类构造函数,子类想看看父类中的成员变量是怎么初始化的

    子类中,所有的构造的函数,都会默认访问父类的空参数的构造函数

    子类构造函数第一个是super(),写了this()第一行就不是super,子类直接或者间接的访问

    父类构造函数

四、Final关键字:

  |--final是个修饰符,可以修饰成员变量,成员函数,修饰局部变量

  |--被final修饰的类,是最终类,不能再派生子类

  |--被final修饰的函数,是最终函数,不能被覆盖

  |--被final修饰的变量,其实是一个常量

  |--将程序中固定不变的数据,一般都定义为final,而且一般都是静态的

     规范的写法:public finalstatic double PI = 3.14;

     当程序中出现了固定不变的数据,必须写成final,体验出来你是新手

五、抽象类:

 |--由来,是对象共性抽取出来,但是抽出来共性已经不是很具体了,父类没有必要具体的规定

     没有方法体的方法,使用 abstract关键字修饰,表明这个是抽象方法,抽象方法必须存在于

     抽象类中,这个类也需要abstract关键字来修饰

  |--抽象类中,有抽象方法,抽象类,是不允许实例化对象,不能 new抽象类类名();

     定义子类,继承抽象类,并覆盖抽象类中全部的抽象方法,建立子类对象

  |--子类覆盖抽象类中的全部方法,带有强制性

六、接口:

  当抽象类中的方法,全部是抽象方法的时候,这时可以把该类定义成接口

  可以先期将接口理解为特殊的抽象类(接口中全部抽象方法,抽象类中可以有普通方法)

七、接口特点

  |--接口中的方法都是抽象的

  |--接口不能被实例化对象,只有子类实现了接口中的所有抽象方法后,该子类可以实例化对象

  否则该子类还是一个抽象类

八、接口中成员的特点

  |-- 成员变量

    接口中的成员变量,都有固定修饰符public static fianl

  |-- 成员方法

    接口中的成员方法,publicabstract

九、子类实现接口

   |-- 类与类之间是继承关系,类与接口之间是实现关系关键字implements

   格式:子类 implements接口

           {

             实现全部抽象方法

           }

十、实现和继承的区别

  类与类之间是继承,类中是可以定义非抽象方法的,类只要继承,就可以使用了

  接口中的方法全都是抽象的,必须由子类全部实现全

十一、接口的多实现

  |--类可以同时实现多个接口,并全部实现接口中的抽象方法,建立子类对象

  java将类的多继承进行了改良,同时实现多个接口,避免了安全隐患

  因为接口中没有方法体,需要子类实现,运行以子类为主

  子类可以继承一个类,并实现多个接口

  |--类是继承体系的共性内容,而接口是该体系中的扩展功能

十二、接口的思想

  |-- 接口是对外暴露的规则

  |-- 接口是功能的扩展

  |-- 降低了耦合度,提高了扩展性

十三、接口和抽象类的区别

  |-- 抽象类只能被单继承,接口可以多实现

  |-- 抽象类中可以定义非抽象方法,直接被子类使用

  |-- 接口中只有抽象方法,需要子类全部实现

  |-- 抽象类中定义继承体系中的共性内容

  |-- 接口中定义体系中对象的扩展功能

  |-- 接口的出现避免了单继承的的局限性

  |-- 抽象类被继承,是体现了谁是谁的一种  is a

  |-- 接口可以被实现,是体现了一种  like a关系

十四、接口中的多继承

  |-- 接口与类之间是实现关系,接口与接口之间是继承关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值