接口

抽象类和接口

谁说胖子不能爱 提交于 2020-03-17 08:04:20
抽象类:在解决实际问题中,父类一般定义为抽象类,需要这个父类进行继承和多态的处理。存在意义就是被继承,是一种校验机制,预防出错。 抽象类用abstract关键字定义。 抽象类不能直接进行实例化,无法new对象。 抽象类被继承后,需要实现其中的所有抽象方法。 抽象类中可以包含非抽象方法和字段,这个非抽象方法和普通方法是一样的,可以被重写或被子类直接调用 抽象方法:用abstract关键字定义 1. 承载抽象方法的类必须定义为抽象类 2. 抽象方法不能是private的,因为其存在意义就是被重写 3. 抽象方法没有方法体即没有{},存在意义就是被子类重写。 接口:接口是抽象类的延伸,是一种纯粹的抽象类。接口使用interface关键字定义,一个类实现一个接口用implements关键字实现 1.接口中所有方法都是抽象方法,都没有方法体。 2.接口不能被单独实例化。 3.在接口中,方法必须定义为public(可省略)或者abstract(可省略),其他修饰权限是不被编译器认可的。 4.在接口中,所有的字段都是默认为静态常量(final static) 5.接口可以用来实现多继承。一个类可以实现多个接口 Class 类名 implements 接口1,接口2,,, 6.接口命名一般用大写I开头,一般使用adj词性的单词 来源: CSDN 作者: 苗秋秋 链接: https://blog

转:C# 命名规则与开发习惯

此生再无相见时 提交于 2020-03-17 07:31:16
【按:原文地址: http://dev.csdn.net/author/Jon_Pilot/34a200bc13d84485974ace53df6f55ca.html 】 C# 命名规则与开发习惯 Pascal: 将标识符的首字母和后面连接的每个单词的首字母都大写。可以对三字符或更多字符的标识符使用 Pascal 大小写。 Camel: 标识符的首字母小写,而每个后面连接的单词的首字母都大写。 标识符 大小写方式 示例 类 Pascal AppDomain 枚举类型 Pascal ErrorLevel 枚举值 Pascal FatalError 事件 Pascal ValueChange 异常类 Pascal WebException 注意 总是以 Exception 后缀结尾。 只读的静态字段 Pascal RedValue 接口 Pascal IDisposable 注意 总是以 I 前缀开始。 方法 Pascal ToString 命名空间 Pascal System.Drawing 参数 Camel typeName 属性 Pascal BackColor 受保护的实例字段 Camel redValue 注意 很少使用。属性优于使用受保护的实例字段。 公共实例字段 Pascal RedValue 注意 很少使用。属性优于使用公共实例字段。

Java小白学习心得(三)

纵然是瞬间 提交于 2020-03-17 06:32:30
前言:学习就是一个动心忍性增益起所不能的过程 本文主要讨论Java的继承性与多态性 https://www.cnblogs.com/xiaozhaoboke/p/11038893.html 接口 通用性、隔离性 面向接口编程:如果使用的功能接口足够满足,则不在乎具体的类而使用接口 public interface Animal { void eat ( ) ; } 组成: 1.抽象方法 2.常量 3.默认方法 4.静态方法 5.私有方法(java9) 抽象方法 1.public abstract 2.public abstract可省略不写 3.只有方法头,没有方法体 实现类 public class ImplementationClass implements Interface { //覆盖重写所有抽象方法 } public class Dog implements Animal { public void eat ( ) { //需要补上public System . out . println ( "eat" ) ; } } 覆盖重写(Override)抽象方法: 1.将接口中抽象方法抄写过来 2.去掉abstract 3.写上方法体 接口名 引用名=new 实现类名(); 引用名.抽象方法名(参数); Animal sweetie = new Dog ( ) ;

静态代理和动态代理的区别

[亡魂溺海] 提交于 2020-03-17 06:28:46
静态代理 举个例子: 有个接口A 创建AImpl类实现接口 创建AProxy类来隐藏和保护A和AImpl,并且可以在其中添加新的功能 优点是:保护和隐藏了要代理的类 缺点是:感觉代码繁多,类很多,并且随着接口和实现接口的类变多,那么需要代理的类也就越多。 案例: public interface UserService { void login ( ) ; void regist ( ) ; } public class UserServiceImpl implements UserService { @Override public void login ( ) { System . out . println ( "登录方法" ) ; try { Thread . sleep ( 1000 ) ; } catch ( InterruptedException e ) { e . printStackTrace ( ) ; } } @Override public void regist ( ) { System . out . println ( "注册功能" ) ; try { Thread . sleep ( 1000 ) ; } catch ( InterruptedException e ) { e . printStackTrace ( ) ; } } }

面试题

久未见 提交于 2020-03-17 05:55:39
1、 SpringBoot异常的设计的原理 答:Spring Boot中,支持RestControllerAdvice统一处理异常,在一个请求响应周期当中,如果Controller,Service,Repository出现任何异常,都会被RestControllerAdvice机制所捕获,进行统一处理 2、 前后端分离开发,日志应该如何进行记录,在出现问题的时候,方便定位问题? 答: 1.日志记录的信息,尽量简单明了,且记录主要信息,如编号,来源,当前ip,接口名,参数,回参等出现问题时能判断当前问题大致范围。 能根据日志信息的判断出当前日志所在接口的大致位置及处理什么数据。 2.每次请求其他不可预知的方法或者外部接口时,需要记录日志,如编号、访问接口 参数 回参,耗时等信息,保证出现问题时能判断出问题是在内部还是外部。 3.同一服务多机器部署时,需要记录ip信息及来源信息及流水号,流水号每次请求会生成一个,向下游接口传送,下游接口需要也需要记录,这样就可以通过接口入口处的流水号把整个接口请求的日志链路获取到,可以更直观的分析查询定位问题 3、 跨域的含义 答:跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。所谓同源是指,域名,协议,端口均相同。 举个例子:如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容

java 接口

六月ゝ 毕业季﹏ 提交于 2020-03-17 04:11:31
当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。 class用于定义类。 interface用于定义接口。 接口定义时,格式特点:   1.接口中常见定义:常量,抽象方法。   2.接口中的成员都有固定修饰符。     常量:public static final     方法:public abstract 接口中的成员都是public的。 接口是不可以创建对象的,因为有抽象方法,需要被子类实现,子类对接口中的抽象方法全部覆盖后,子类才可以实例化,否则子类是一个抽象类。 接口可以被类多实现,也是对多继承不支持的转换形式。java支持多实现。 接口与接口之间是继承关系,可以多继承 一个类在单继承的同时还可以实现多个接口 class是主体,interface是扩展 来源: https://www.cnblogs.com/hongxiao2020/p/12508330.html

MATLAB:【10】外部文件接口

Deadly 提交于 2020-03-17 03:52:14
目录 10.1在Excel中使用MATLAB 10.3在其他语言中读写MATLAB数据文件 10.4在MATLAB中调用其他语言编写的程序 10.5在其他语言程序中调用MATLAB函数 10.1在Excel中使用MATLAB Spreadsheet Link程序 通过这一程序,可以在Excel工作区和MATLAB工作区之间进行数据交换,也可以在Excel中调用MATLAB的算法 安装与启动 打开Excel2016 文件-选项-加载项-转到-浏览 进入目录E:\MATLAB\R2018A\toolbox\exlink,选择excllink.xlam 打勾确定返回,就可以在Excel中看到MATLAB的标志了 将Excel表格中的数据导出到MATLAB工作空间中 在Excel中选择要导出的变量,选择导出到MATLAB即可 从MATLAB工作空间导入数据到Excel表格中 单击要导入的起始单元格,选择导入到Excel,输入变量名即可 在Excel中调用MATLAB函数进行运算 在Excel中选要放数据的表单,单击“MATLAB Function Wizard”,选择对应函数即可 10.2MATLAB文件操作 文件打开与关闭 文件的打开 fid = fopen(fiename, permission) 其中fid为文件识别号,filename为待操作的文件名

vue-element-admin 框架调用后端接口及跨域问题

别等时光非礼了梦想. 提交于 2020-03-17 03:44:58
使用vue-element-admin框架调用后端接口及跨域问题 webpack+vue-cil 中proxyTable配置接口地址代理 webpack开发配置API代理解决跨域问题-devServer vue-element-admin实战(一)修改登陆接口 实例 把访问的接口改为线上的地址(xxx.com) devServer : { port : port , open : true , overlay : { warnings : false , errors : true } , proxy : { // change xxx-api/login => mock/login // detail: https://cli.vuejs.org/config/#devserver-proxy // 解决跨域问题: 当你请求是以/admin开头的接口,则我帮你代理访问到 http://test.hello.com/ // '/admin/*': { // target: 'http://test.hello.com', // 你接口的域名 // // secure: false, // 如果是https接口,需要配置这个参数 // changeOrigin: true, // 如果接口跨域,需要进行这个参数配置 // } // , [ process . env . VUE

【微信】第三方登录接口流程

↘锁芯ラ 提交于 2020-03-17 03:04:57
微信登录介绍: 微信OAuth2.0授权登录让微信用户使用微信身份安全登录第三方应用或网站,在微信用户授权登录已接入微信OAuth2.0的第三方应用后,第三方可以获取到用户的接口调用凭证(access_token),通过access_token可以进行微信开放平台授权关系接口调用,从而可实现获取微信用户基本开放信息和帮助用户实现基础开放功能等。 准备工作: 在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。 创建网站应用 在创建网站应用快要完成的时候会设置一个返回域,此域要跟代码的返回地址一致(授权回调域最好写一级域名)。 提交审核,等待获取到APPID和AppSecret 接入流程示意图: 代码操作示例: 流程示意图: 第一步:请求CODE 第三方使用网站应用授权登录前请注意已获取相应网页授权作用域(scope=snsapi_login),则可以通过在PC端打开以下链接: https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state

抽象类和接口的区别有哪些?

牧云@^-^@ 提交于 2020-03-17 01:20:34
1、抽象类要被子类继承,接口要被类实现 2、接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现 3、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量 4、接口是设计的结果,抽象类是重构的结果 5、抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高 6、抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量 7、抽象类主要用来抽象类别,接口主要用来抽象功能 来源: https://www.cnblogs.com/szkzyw/archive/2020/03/16/12506155.html