类,接口,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 参数每个函数都要带,每个函数多个参数,这时候封装成类会更方便.在这里我们还是以博客园为例,带着小伙伴们实践一下. 接口封 ...
随机推荐
- docker redis实现主从复制
1.使用docker启动三个redis实例,容器名称分别为:myredis-master-6379,myredis-slave-6380,myredis-slave-6381.通过命令可以看到容器给三 ...
- js相同的正则多次调用test()返回的值却不同
项目中文件上传需要验证文件的格式,第一次正常,第二次就验证不通过了.在验证的地方console.log()两遍,发现结果不一样 !!! 正则和文件名都没变,但是两次的验证结果不同. this.reg ...
- 高级语言——java
高级语言——java 起源与发展 1991 年,James Gosling 博士发布产品 Oak,这是 Java 语言的前身. 1995 年,Oak 语言改名为 Java. 1996 年,JDK(Ja ...
- [20191119]探究ipcs命令输出2.txt
[20191119]探究ipcs命令输出2.txt --//继续上午的测试:http://blog.itpub.net/267265/viewspace-2664758/=>[20191119] ...
- 如何判断Linux系统安装在VMware上?
如何判断当前Linux系统是否安装在VMware上面呢? 因为公司大部分服务器位于VMware上,也有小部分系统部署在物理机上面.今天老大要求统计一下VMware和物理机上服务器的数量,个人简单测试. ...
- 微信小程序如何做金额输入限制
引言:金额输入时,需求如下: 1)首位不能出现0或者小数点(.) 2)仅保留两位小数 3)仅保留一个小数点(.),不允许出现多个. 1.wxml核心代码: <!-- 1.adjust-posit ...
- linux 命令之touch
转自:http://www.maomao365.com/?p=2037 一.touch命令简介touch的命令功能说明: 1 可以通过touch新建一个文件; 2 可以修改文件的时间戳; 3 可以批量 ...
- (办公)访问其他系统接口httpClient,异步访问
访问其他系统接口httpClient,但是都是同步的,同步意味当前线程是阻塞的,只有本次请求完成后才能进行下一次请求;异步意味着所有的请求可以同时塞入缓冲区,不阻塞当前的线程; httpClient请 ...
- git 代码管理
- luoguP3649 [APIO2014]回文串
题意 关于回文自动机的讲解见这里 由于回文串个数是\(O(n)\)的,直接回文自动机上统计并比较即可. code: #include<bits/stdc++.h> using namesp ...