• JAVA学习笔记-05-继承


    继承: extends

    1.提高代码的复用性

    2.让类与类之间产生了关系。有了这个关系,才有了多态的特性

    注意:千万不要为了获取其他类的功能,简化代码而继承;必须是类与类之间有所属关系才可以继承。

    JAVA中只支持单继承,而不继承多继承。因为多继承容易带来安全隐患。当多个父类中定义了相同的功能,当功能内容不同时,子类对象不确定运行哪一个。

    JAVA支持多层继承:简单来说就是a继承b,b继承c。这就是一个继承体系

    如果想要使用一个继承体系中的功能,那就要先查阅体系父类的描述,因为父类中定义的是体系中共性功能。通过了解共性功能就可以知道该体系的基本功能。

    在具体调研时,要创建最子类的对象。因为有可能父类不能创建对象,或者是创建子类对象可以使用更多的功能。包括基本的和所有的 

    当多个类中出现相同功能,但是功能主体不同,这时可以向上抽取,这时只抽取功能定义,而不抽取功能主体。这时方法的内部没有功能主体。

    这时我们要用abstract来标识方法。如: abstract void student();

    抽象:看不懂

    1.抽象方法一定在抽象类中。

    2.抽象方法和抽象类都必须被abstract关键字修饰

    3.抽象类不可以用new创建对象。因为调用抽象方法没意义。

    4抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象所用。如果子类只覆盖了部分抽象方法,那么这个类还是一个抽象方法

    聚集:谁里面有谁就是聚集

    子父类出现后,类成员的特点:

    父类的东西,子类都可以调用

    类中的成员:

    1.变量:如果子类出现非私有的同名成员变量时,子类要访问本类中的变量,要用this。子类要访问父类中的同名变量,用super。super的使用和this的使用几乎一致。this 代表子类的引用。super代表父类的引用

    2.函数:当子类出现和父类一模一样的函数时,当子类对象调用该函数,会运行子类函数的内容。如同父类的函数被覆盖意义。这种情况时函数的的另一个特性:重写(覆盖)

    3.构造函数:

    super()调用的是父类构造函数,this()调用的是本类的构造函数

    在对子类的对象进行初始化时,父类的构造函数也会运行。因为子类的构造函数默认第一行有一条隐式的语句 super(). super()会访问父类的中空参数的构造函数,而且子类中所有的构造函数默认第一行都是super().

    final关键字:最终的意思

    1.final作为修饰符,可以修饰类,变量,函数。

    2.被final修饰的类不可以被继承。为了避免被继承,被子类复写功能,就在类前面加个final

    3.被final修饰的方法不可以被复写

    4.被final修饰的变量是一个常量,只能赋值一次,既可以修饰成员变量。又可以修饰局部变量。

    5.内部类定义在类中的局部位置时,只能访问该局部被final修饰的局部变量

    当描述事物时,一些数据的出现是固定的。为了增强阅读性。都给这些值取个名字方便阅读。而这个值不需要改变。所以用final修饰应用

    常量的书写格式:所以字母都大写,如果有多个单词组成,单词之间用_连接

    this代表本类对象的引用,super代表父类对象的引用

    覆盖:子类必须知道父类的功能

    1.子类覆盖父类,必须保证子类的权限大于等于父类权限,才可以覆盖,否则编译失败

    2.静态只能覆盖静态

    重载:只看同名函数的参数列表

    重写:子父类方法要一模一样

    接口:

    初期可以理解为一个特殊的抽象类,当抽象类中的方法都是抽象的,那么该类可以通过接口形式来表达。

    格式:interface{}.    class定义类,interface定义接口

    定义接口时,格式特点:

    1。接口中常见定义:常量。抽象方法

    2.接口总的成员都有固定修饰:常量 public static final    方法  public abstrcat

    接口中的成员都是public的。

    接口不可以创建对象,因为接口有抽象方法

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

    接口可以被类多实现。也就是一个类可以实现多个接口。接口中的方法没有实现主体,所以可以多实现。

    一个类继承一个类后还可以实现多个接口。

    接口与接口之间为继承关系。接口存在多继承

  • 相关阅读:
    Netty实现Http客户端
    Netty实现Http服务端
    Netty实现Tcp客户端
    Netty实现Tcp服务端
    MySQL进阶系列:一文详解explain
    spring boot 获取运行时的yml里的active配置
    eureka 注册中心添加认证
    zuul 负载
    jenkins spring cloud
    秒杀系统如何设计?
  • 原文地址:https://www.cnblogs.com/guaikakani/p/10696335.html
Copyright © 2020-2023  润新知