zoukankan      html  css  js  c++  java
  • Java基础之三、类的特性和接口

    类的派生、多态、抽象类、接口

    1:派生-extends

      派生就是继承已有类非私有的字段和方法等创建新的类,还可以添加、重写字段和方法;

      在类的派生中,构造函数不可以被继承;

      派生源的类-父类/基类/超类;派生的类-子类/派生类;

    2:super(…)调用超类的构造函数,在子类构造函数的开头;

      super(…)和this(…)不能同时存在构造函数中,因为都必须在开始调用;

    3:子类的构造函数中如果无显示调用超类构造函数,则会自动调用超类中的“不接收参数的构造函数”;

      X(……){super();}

    4:在类中最好显性编写“不接收参数的构造函数”;

      虽然类会默认一个不接收参数的构造函数,但一旦定义带参数的构造函数,就不会默认,需要手工创建;

      避免子类未定义构造函数出错--第3点

    5:超类和子类

     6:超类和子类的实例引用

     向上引用仅会执行子类继承父类的 功能或重写 部分,向上引用无法调用子类独有的功能;

     如下图2部分

    7:多态-派生类的价值

      重写(override)-重写定义一个与超类中的方法签名一样的方法。让超类方法无效。如果要调用使用supper.方法名显示调用

      引用类型转型

      向上转型-超类类型的变量引用子类实例

      

      向下转型-显示进行类型转型,比较常用的是对Object向下转型(类型)object;

      

    8:注解-@Override(编译器可以读懂的注释)

      告知程序重写超类的方法,而不是重写添加新的方法,避免出错

      格式:@Override 方法名称

    9:继承和访问权限

      成员(字段、方法、类、接口)可以被继承,私有成员、实例初始化器、静态初始化器、构造函数不会被继承;

      final类不能派生,final方法不能被重写;

      当重写方法时,必须赋给与超类中方法相同或小于的访问权限修饰符

      不可以将超类的类方法重写为实例方法

      

    10:修饰符顺序

     11:抽象类

      无法创建或者不应该创建实例;

      无法定义方法的主体。其内容应该在子类实现;   

     12:抽象类和方法定义

      abstract 类名{};

      abstract 方法名();;

     13:抽象类中可以包含非抽象方法(抽象类的超类也是Object,Object类中有非抽象方法例如toString),但包含抽象方法的类一定是抽象类;

      子类继承抽象类,要么实现抽象类全部方法,要么子类也是抽象类;

      抽象类的非抽象方法重写为抽象方法比如toString方法

      

     14:文档注释和javaDoc-这部分网上搜索即可

     15:接口-接口是引用类型的一种

      接口声明:interface

      接口所有方法都是public且abstract

      

      接口实现:implements,接口实现的方法必须是public修饰符;接口类型的变量可以引用实现类的实例

      接口实现类必须实现接口所有的方法,否则实现类定义为抽象类;

      接口可以持有常量---publicstaticfinal字段,即为不可更改的数值的类变量

      

       接口本身的访问修饰符与类相同-可以加public修饰符

      当类声明同时存在extends 和 implements一定要先写extends,一个类可以实现多个接口

      接口也可以进行派生新的接口

      

       

      

      

  • 相关阅读:
    浅析MySQL关联left join 条件on与where的区别
    c语言 char * char** 指针 * 和**
    MVC实用构架实战(一)——项目结构搭建
    实现存储过程自动执行jobs
    Oracle 建立索引及SQL优化
    vue vhtml table里内容不换行 带省略号
    canvas lineTo 理解
    canvas quadraticCurveTo 二次贝塞尔曲线
    canvas arc 画园
    Java对象内存模型
  • 原文地址:https://www.cnblogs.com/sun-null/p/12287163.html
Copyright © 2011-2022 走看看