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

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修饰符;接口类型的变量可以引用实现类的实例

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

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

  

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

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

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

  

  

  

  

最新文章

  1. haahah
  2. python 中的metaclass和baseclasses
  3. CSS3中DIV水平垂直居中-2(3)
  4. Linux线程-互斥锁pthread_mutex_t
  5. hdu-5834 Magic boy Bi Luo with his excited tree(树形dp)
  6. Geoprocessor 使用
  7. HDU1875——畅通工程再续(最小生成树:Kruskal算法)
  8. GITLAB的版本回退(非命令行)
  9. SpringMVC项目接入Springfox实战遇到的问题集合
  10. static 方法.
  11. JavaScript随机排序算法1
  12. html网页获取php网页数据等知识记录
  13. 幻世(OurDream)2D图形引擎使用教程9——处理操作输入(3)
  14. 想要薪资20-30K,Python程序员认真敲代码就够了!
  15. Windows 10安装Docker 步骤及顺序
  16. Day14 Python基础之os/sys/hashlib模块(十二)
  17. Tomcat使用https
  18. jQuery插件学习之选项卡Tab
  19. Java集合框架(比较啰嗦)
  20. C# 实现生产者消费者队列

热门文章

  1. Django 2.2
  2. 工具之grep
  3. ThreadLocal梳理
  4. Docker基础内容之镜像
  5. layui+springmvc实现文件异步上传
  6. HYSBZ_2002_分块
  7. HDU_1394_线段树
  8. 题解【[HNOI2010]弹飞绵羊】
  9. 手机控制电脑第二弹之HIPC
  10. Window10和Ubuntu 18.04双系统安装的引导问题解决