2017.06.21

抽象的概念:

  用abstract修饰的类就是抽象类。如果某个类中包含有抽象方法,那么该类就必须定义成抽象类。

  抽象类可以有成员属性和非抽象的成员方法。

  抽象类不能被实例化,但可以有构造函数。

  抽象类只能用作基类,表示的是一种继承关系。继承抽象类的非抽象类必须实现其中的所有抽象方法,而已实现方法的参数、返回值要和抽象类中的方法一样。否则,该类也必须声明为抽象类。

注意事项:

  抽象类可以有构造方法,但不能直接实例化,只能用来继承;

   抽象类的派生子类应该提供对其所有抽象方法的具体实现;如果抽象类的派生子类没有实现其中的所有抽象方法,那么该派生子类仍然是抽象类,只能用于继承,而不能实例化;

   抽象类中也可以包含有非抽象的方法,子类中重写非抽象方法时返回值和参数必须与父类一致;

   构造方法和静态方法不可以修饰为abstract

多态参数:方法的形式参数类型是父类类型,而传递的实际参数可以是任意子类的对象(提高代码的扩展性)

多态环境下:1.对成员方法的调用(编译看左边,运行看右边);2.对静态方法的调用(编译,运行都看左边)3.对成员变量的调用(编译,运行都看左边)

多态环境下对子类,父类的方法调用:1.向上造型(只能调用父类中的方法)2.子类,父类方法都可以调用

接口的定义:接口就是特殊的抽象类,即所有方法都是抽象方法的抽象类就是Java中的接口;

      特点:接口是一种特殊的抽象类

      接口中没有变量,只能有public static final修饰的静态常量。三个修饰符可以省略。

       接口中所有方法都是抽象方法,且默认就是public权限。

Java接口继承接口的原则: Java接口可以继承多个接口

             接口继承接口依然使用关键字extends,不要错用成implements

            Java类的继承是单一继承,Java接口的继承是多重继承。

抽象类与接口的区别:

时间: 2024-11-09 21:08:54

2017.06.21的相关文章

2017.1.21总结

---恢复内容开始--- 今天写了2道题,一道p1227 一道p1919 p1227原题: 给出一有向图,图中每条边都被标上了关系运算符'<','>','='.现在要给图中每个顶点标上一个大于等于0,小于等于k的某个整数使所有边上的符号得到满足.若存在这样的k,则求最小的k,若任何k都无法满足则输出NO. 例如下表中最小的k为2. 结点1>结点2结点2>结点3结点2>结点4结点3=结点4 如果存在这样的k,输出最小的k值:否则输出'NO'. 这道题是差分约束+拓扑排序题目,需

2017/1/21 上午活动

2017/1/21 上午       from高嘉怡 用开源飞控套件做一架Mini四轴飞行器 http://www.chuangkoo.com/project/48 材料清单 1.MWC飞控)*1                    82元/件 https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-2963753174.64.yQPiw8&id=18839984356 2.720空心杯电机  黑白线*4     5.5元/个 红蓝线*4

2017.7.21夏令营清北学堂解题报告

预计分数: 60+30+0=90=划水 实际分数: 90+30+20=140=rank5=雷蛇鼠标 一句话总结:今天该买彩票! T1: 题目描述 从前有一个?行?列的网格. 现在有?种颜色,第?种颜色可以涂??格,保证 Σ? ?? = ? * ?. 需要你对这个网格图进行着色,你必须按照从上到下,每一行内从左到右 的顺序进行着色,并且在用完一种颜色前你不能换颜色(当然颜色的使用顺序 是随意的). 每个相邻的相同色块可以获得1分,问在给定的规则下进行着色所能获得的 最高分是多少. 多组数据. 输入

2017.06.29数据挖掘基础概念第二.三章

第二章21.研究的属性类型标称属性:值是一些符号或事物的名称,代表某种类型.编码或状态二元属性:是一种标称属性,只有两个类别或状态,又称布尔属性序数属性:是一种属性,其可能的值之间具有有意义的序或秩评定,但是相续值之间的差是未知的数值属性:是定量的,即他是可度量的量,可用整数或实数值表示(区间和比率标度)22.数据散布常见的度量量(数据如何分散的方法/识别离群点)极差 四分位数.四分位数极差.五数概括图.方差和标准差23.审视数据的图形条形.饼图.线图.分位数图.分位数-分位数图.直方图和散点图

[题解]线段树专题测试2017.1.21

很单纯的一道线段树题.稍微改一下pushDown()就行了. Code(线段树模板竟然没超100行) 1 #include<iostream> 2 #include<sstream> 3 #include<cstdio> 4 #include<cmath> 5 #include<cstdlib> 6 #include<cstring> 7 #include<cctype> 8 #include<queue> 9

2017.2.21 activiti实战--第七章--Activiti与容器集成

学习资料:<Activiti实战> 第七章 Activiti与容器集成 本章讲解activiti-spring可以做的事情,如何与现有系统集成,包含bean的注入.统一事务管理等. 7.1 流程引擎工厂 7.1.1 ProcessEngine 创建processEngine的方法有三种: 1 通过配置文件 2 测试中通过ActivitiRule 3 通过ProcessEngines类 7.1.2 ProcessEngineFactory 与spring集成的目的有两个: 1 通过spring统

Technical Committee Weekly Meeting 2016.06.21

Meeting time: 2016.June.21 1:00~2:00 Chairperson:  Thierry Carrez Meeting summary: 1.Add current house rules for reference This lists exceptions to the formal votes for various changes in the openstack/governance repository. It corresponds to house r

Day 24(06/21 ) 模 块

常用模块 一 time模块 时间表示形式 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串:(1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行"type(time.time())",返回的是float类型. (2)格式化的时间字符串(Format String): '1988-03-16' (3)元组(struct_time) :struct_time元

2017.12.21 2周4次课

二周第四次课(12月21日) 2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件 2.18 特殊权限set_uid set uid:该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限,即可以让普通用户执行时,临时拥有该命令所有者的身份.而对目录是没有任何意义的 比如, passwd这个命令就具有该权限.当普通用户执行passwd命令时,可以临时获得root权限,从而可以更改密码. 上图