类,接口,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 参数每个函数都要带,每个函数多个参数,这时候封装成类会更方便.在这里我们还是以博客园为例,带着小伙伴们实践一下. 接口封 ...
随机推荐
- Windows7中启动Mysql服务时提示:拒绝访问的一种解决方式
场景 在Windows7中打开任务管理器--服务下 找到mysql的服务点击启动时提示: 拒绝访问 这是因为权限不够导致的不能启动sql服务. 点击 任务管理器右下角的服务 在这里就可以正常启动服务
- vue-cli3构建ts项目
1.构建项目 vue create xxx 上面的第一条,也就是 aaa 这一个选项在你第一次创建项目的时候是并不会出现的,只有你第一次创建完成项目后回提示你保存为默认配置模板,下次新建项目的时候就可 ...
- [转]UiPath: How to Capture a Mouse Event on Hover Menus?
本文转自:https://www.uipath.com/kb-articles/how-to-capture-mouse-event-on-hover-menus he Knowledgebase a ...
- Android 查看项目依赖树的四种方式
Android 查看项目依赖树的四种方式: 方式一: ./gradlew 模块名:dependencies //查看单独模块的依赖 ./gradlew :app:dependencies --conf ...
- MyBatis与log4j
1.前言 在项目中编写Sysem.out.prinltn()的时候,是输出到控制台的,当项目发布到tomcat之后,是没有控制台的,不过可以在命令行界面还能看见,但是不容易观察一些输出结果.log ...
- 多个div使用display:inline-block时候div之间有间隔
开发场景中用到display:inline-block;然后呢,div间就有间隙,但是ajax加载出来的数据没有间隙,解决办法如下 display:inline-block表示行内块元素,后面自带 ...
- 推荐几个公众号Markdown格式化网站
好多人都喜欢用 Markdown 写文 但是公众号后台编辑又不支持 Markdown 因此,催生出了一系列 Markdown 渲染格式化的工具网站 我使用了其中的一些 分享给你 1.Md2All 官方 ...
- mysql关联两张表时的编码问题
Mysql关联两张表时,产生错误提示Illegal mix of collations 1.先用工具把数据库.两张表的编码方式改变 2.这步很重要,需要改变字段的编码方式. ALTER TABLE ` ...
- golang数据结构之递归解决迷宫问题
简单来说:递归就是函数/方法自己调用自己,只是每次传入不同的变量. 递归可以解决各种数学问题:n皇后问题.阶乘问题.汉诺塔.迷宫问题.球和篮子问题等等: maze.go package maze im ...
- golang数据结构之用循环链表解决约瑟夫环问题
josephu.go package link import ( "fmt" ) type Kid struct { ID int next *Kid } func AddKid( ...