类,接口,final
继承extends
子类实例化过程:
子类中所有的构造方法默认都会访问父类中空参的构造方法
因为每一个子类的构造方法的提议行都有一条默认的语句super();
this super
final修饰类,变量和方法
final修饰的变量是常量,只能赋值一次,赋值初始值
final修饰的变量名称都大写,有多个单词组成要用下划线连接
不能被继承,一个类不想有子类,可以加上关键字final
当一个类中有些方法可以被重写,有些不能被从写时,可以加上final
当一个类的方法被final 关键字修饰后,这个类的子类将不能从写该方法
抽象类和接口
抽象类:定义方法时不写方法体,abstract void shout()
特点:
1.抽象类不可以被实例化,
2.不包含方法体的方法为抽象方法,
3.抽象方法必修使用abstract
4.抽象类必须有其子类覆盖掉所有的抽象方法后,其子类才可以被实例化,否则该子类还是一个抽象类
一般类与抽象类的异同:
一般类和抽象类都是用于描述事物
里面都可以定义属性和行为,以及构造方法
~一般类中不可以定义抽象方法,抽象类可以
~一般类可以被实例化,抽象类不可以
~一般类可以被继承,也可以不被继承,抽象类一定要被继承,需要其子类覆盖所有的抽象方法子类才可以被实例化
接口:抽象类中所有的方法都是抽象的
interface 接口名
{
常量名:全局变量 有固定修饰符public
static final
抽象方法:固定修饰符 public abstract
}
特点:
1.接口用interface定义
2.接口中的成员都有固定的修饰符
3.接口不能被实例化
4.接口必须有其子类覆盖所有的抽象方法后,该子类才可以被实例化
5.接口中的成员都是public修饰的。
类与类之间是继承关系
接口与接口之间是实现关系implements
结论:一个接口可以通过extends 继承接口,是仙子接口的类若想创建对象,必须重写所有的方法包括父接口的方法才可以创建对象
特点:
1.接口中的方法都是抽象的,不能实例化对象
2.当一个类实现接口时,如果这个类是抽象类,则实现接口中的部分方法即可,否则要实现接口中的所有方法
3.接口用implements实现,可以实现多个接口,多个接口间用逗号隔开class dog implements run,sleep
4.一个接口可以用extends继承多个接口,接口间用逗号隔开interface dog extends running,sleeping
5.一个类在继承另一个类的同时还可以实现接口extends要在implements前面class dog extends run implements animal
接口与抽象类的区别:
1.接口中之可以有常量,不能有变量,而抽象类中既可以有常量也可以有变量
2.抽象类是用来继承的,只能单继承,接口是用来实现的,可以多实现
3.抽象类中可以定义非抽象内容,直接提供给子类使用。
接口中只能定义抽象方法,需要子类全部实现
类,接口,final的更多相关文章
- Entity Framework 实体框架的形成之旅--为基础类库接口增加单元测试,对基类接口进行正确性校验(10)
本篇介绍Entity Framework 实体框架的文章已经到了第十篇了,对实体框架的各个分层以及基类的封装管理,已经臻于完善,为了方便对基类接口的正确性校验,以及方便对以后完善或扩展接口进行回归测试 ...
- Entity Framework 实体框架的形成之旅--基类接口的统一和异步操作的实现(3)
在本系列的第一篇随笔<Entity Framework 实体框架的形成之旅--基于泛型的仓储模式的实体框架(1)>中介绍了Entity Framework 实体框架的一些基础知识,以及构建 ...
- 业务类接口在TCP,HTTP,BLL模式下的实例 设计模式混搭 附源码一份
业务类接口在TCP,HTTP,BLL模式下的实例 设计模式混搭 附源码一份 WinForm酒店管理软件--框架这篇随笔可以说是我写的最被大家争议的随笔,一度是支持和反对是一样的多.大家对我做的这个行业 ...
- 具有相同名称 的类/接口已在使用。请使用类定制设置来解决此冲突。java调用第三方的webservice应用实例
WSDLToJava Error: http://10.96.84.124:81/BTRPWebServiceForSMB/OnSMBOrderService.svc?xsd=xsd0 [0,0]: ...
- C#基础--类/接口/成员修饰符,多态、重载、重写,静态和非静态
C#基础--类/接口/成员修饰符,多态.重载.重写,静态和非静态 类/接口/成员修饰符 C#修饰符---接口: 接口默认访问符是internal接口的成员默认访问修饰符是public C#修饰符--类 ...
- Final类和Final方法
终止继承 Final类 当关键字final用来修饰类时,其含义是该类不能在派生子类.换句话说,任何其他类都不能继承用final修饰的类,即使该类的访问限制为public类型,也不能被继承:否则,将编译 ...
- PHP 面向对象 final类与final方法
final---用于类.方法前. final类---不可被继承. final方法---不可被覆盖. final类不能被继承. 如果我们不希望一个类被继承,我们使用final来修饰这个类.这个类将无法被 ...
- 协议类接口 - UART
一.何为协议类接口? 双方约定信号的协议和满足时序要求. 二.UART如何传数据 通用异步收发器简称 UART,即“Universal Asynchronous Receiver Transmitte ...
- python接口自动化(三十六)-封装与调用--流程类接口关联续集(详解)
简介 上一篇已经给大家都介绍过了流程类接口关联,但是由于博客的登录机制改变,所以没有办法给小伙伴们实战演练一下,那么这篇就按照上一篇计划的用jenkins来给小伙伴们演示一下流程类接口的封装和调用,其 ...
- python接口自动化(三十五)-封装与调用--流程类接口关联(详解)
简介 流程相关的接口,主要用 session 关联,如果写成函数(如上篇),s 参数每个函数都要带,每个函数多个参数,这时候封装成类会更方便.在这里我们还是以博客园为例,带着小伙伴们实践一下. 接口封 ...
随机推荐
- git操作教程
首先就是创建码云(用户名不能是中文),然后新建一个项目(用户名/项目名都不能是中文). 一.在Windows上安装Git 1.从http://msysgit.github.io下载,然后按默认选项安装 ...
- ArcGIS api for JavaScript 3.27 FindTask查询功能
在ArcGIS API中查询功能是经常使用的,常用的三个查询分别是FindTask,QueryTask,IdentifyTask.它们各自都有自己的特点. 查询功能分为属性查询和空间查询 FindTa ...
- mysql注入新姿势(数字与字符编码注入) hex,conv
0x01 前言 今天看到师傅们发的一篇文章,感觉mysql注入还能这么用,于是自己搭建了一个简单的环境,进行复现. 0x02原理 首先介绍两个mysql函数 hex和conv conv(N,from_ ...
- STL--标准模板库--简要概述
STL--标准模板库 #include <vector> //头文件 STL(Standared Template Library)即标准模板库,惠普实验室开发的一系列软件的统称. ...
- Redis专题——Redis管理工具
一.安全性 1.运行环境 Redis以简洁为美,其安全性没有太多操作,要求在生产系统中外界不能直接连接Redis进行操作,而必须经过程序中转后,由程序进行操作. 即,redis要求运行在可信的环境中. ...
- django升级2.1python升级3.7时出现的错误:"trying to load '%s': %s" % (entry[1], e) django.template.library.InvalidTemplateLibrary:
django升级2.1python升级3.7时出现如下的错误: "trying to load '%s': %s" % (entry[1], e) django.template. ...
- Linux:用户权限管理
用户与用户组的概念 超级用户 拥有对系统的最高管理权限,默认是 root 用户 普通用户 只能对自己目录下的文件进行访问和修改,具有登录系统的权限. 虚拟用户 也叫"伪"用户,这类 ...
- optix之纹理使用
1.在OpenGL中生成纹理texture optix中的纹理直接使用OpenGL纹理的id,不能跨越OpenGL纹理,所以我们先在OpenGL环境下生成一张纹理. 这个过程就很熟悉了: void W ...
- 设计模式-Template(行为模式) 采用 继承的方式 将算法封装在抽象基类中,在子类中实现细节。利用面向对象中的多态实现算法实现细节和高层接口的松耦合。
以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //Template.h class AbstractClass { public: virtual ~AbstractCla ...
- ClickHouse
ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告 1 安装前的准备1.1 Cent ...