java_11接口
1接口的概念
	      接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”。
		  接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成。这样将功能的定义与实现分离,优化了程序设计。
		  一切事物均有功能,即一切事物均有接口。
2接口的语法
 	  A: 接口的定义
			    与定义类的class不同,接口定义时需要使用interface关键字。
			    定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的编译后仍然会产生.class文件。这点可以让我们将接口看做是一种只包含了功能声明的特殊类。
  B : 定义格式
			    public interface 接口名 {
				      抽象方法1;
				      抽象方法2;
				      抽象方法3;
			    }
 	  C: 定义步骤
			    使用interface代替了原来的class,其他步骤与定义类相同:
			    接口中的方法均为公共访问的抽象方法
			    接口中无法定义普通的成员变量
3接口的实现类
   A: 类与接口的关系
			    类与接口的关系为实现关系,即类实现接口。实现的动作类似继承,只是关键字不同,实现使用implements。
			    其他类(实现类)实现接口后,就相当于声明:”我应该具备这个接口中的功能”。实现类仍然需要重写方法以实现具体的功能。
	  B: 类实现接口的格式
			    class 类 implements 接口 {
				      重写接口中方法
			    } 
 	  C:注意事项
	 		    在类实现接口后,该类就会将接口中的抽象方法继承过来,此时该类需要重写该抽象方法,完成具体的逻辑。
			    接口中定义功能,当需要具有该功能时,可以让类实现该接口,只声明了应该具备该方法,是功能的声明。
			    在具体实现类中重写方法,实现功能,是方法的具体实现。
4接口中成员变量的特点
 	  成员变量特点
		      接口中可以定义变量,但是变量必须有固定的修饰符修饰,public static final 所以接口中的变量也称之为常量,其值不能改变。后面我们会讲解static与final关键字
5接口中成员方法的特点
	   成员方法特点
 		    a 接口中可以定义方法,方法也有固定的修饰符,public abstract
 		    b 子类必须覆盖掉接口中所有的抽象方法后,子类才可以实例化。否则子类是一个抽象类。
6类和接口的多实现	
	  A:接口的多实现
		    了解了接口的特点后,那么想想为什么要定义接口,使用抽象类描述也没有问题,接口到底有啥用呢?
		    接口最重要的体现:解决多继承的弊端。将多继承这种机制在java中通过多实现完成了。
 	 B 多实现的优点
		    怎么解决多继承的弊端呢?
    弊端:多继承时,当多个父类中有相同功能时,子类调用会产生不确定性。
 		    其实核心原因就是在于多继承父类中功能有主体,而导致调用运行时,不确定运行哪个主体内容。
		    为什么多实现能解决了呢?
		    因为接口中的功能都没有方法体,由子类来明确。
7 类在继承类的同时实现多接口
	  A: 继承的同时实现接口
		    接口和类之间可以通过实现产生关系,同时也学习了类与类之间可以通过继承产生关系。当一个类已经继承了一个父类,它又需要扩展额外的功能,这时接口就派上用场了。
 		    子类通过继承父类扩展功能,通过继承扩展的功能都是子类应该具备的基础功能。如果子类想要继续扩展其他类中的功能呢?这时通过实现接口来完成。
		    接口的出现避免了单继承的局限性。父类中定义的事物的基本功能。接口中定义的事物的扩展功能。
8接口的多继承
	  A: 接口的多继承
		    学习类的时候,知道类与类之间可以通过继承产生关系,接口和类之间可以通过实现产生关系,那么接口与接口之间会有什么关系。
 		    多个接口之间可以使用extends进行继承。
9: 接口和抽象类区别总结
	 	  相同点:
			    都位于继承的顶端,用于被其他类实现或继承;
			    都不能直接实例化对象;
			    都包含抽象方法,其子类都必须覆写这些抽象方法;
		  区别:
			    抽象类为部分方法提供实现,避免子类重复实现这些方法,提高代码重用性;接口只能包含抽象方法;
			    一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了Java的单继承)
			    抽象类是这个事物中应该具备的你内容, 继承体系是一种 is..a关系
			    接口是这个事物中的额外内容,继承体系是一种 like..a关系
			    优先选用接口,尽量少用抽象类;
			    需要定义子类的行为,又要为子类提供共性功能时才选用抽象类;
java_11接口的更多相关文章
- App开发:模拟服务器数据接口 - MockApi
		为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ... 
- 干货来袭-整套完整安全的API接口解决方案
		在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ... 
- 12306官方火车票Api接口
		2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ... 
- Java基础Map接口+Collections工具类
		1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ... 
- Java基础Map接口+Collections
		1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ... 
- java基础_集合List与Set接口
		List接口继承了Collection的方法 当然也有自己特有的方法向指定位置添加元素 add(索引,添加的元素); 移除指定索引的元素 remove(索引) 修改指定索引的元素 set ... 
- 【WCF】自定义错误处理(IErrorHandler接口的用法)
		当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ... 
- PHP以接口方式实现多重继承(完全模拟)--学习笔记
		1.UML类图: 2.PHP代码: <?php /** * Created by PhpStorm. * User: andy * Date: 16-11-23 * Time: 下午7:57 ... 
- 【微框架】Maven +SpringBoot  集成 阿里大鱼 短信接口详解与Demo
		Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ... 
随机推荐
- js 选项卡制作
			知识回顾,制作JS选项卡,仅供参考 html代码: <!DOCTYPE html> <html lang="en"> <head> <me ... 
- 尚硅谷springboot学习9-配置文件值注入
			首先让我想到的是spring的依赖注入,这里我们可以将yaml或者properties配置文件中的值注入到java bean中 配置文件 person: lastName: hello age: 18 ... 
- 修改 计算机名后,修改SQLserver 注册服务器对象的名称,及登陆名
			select @@ServerName --查看当前所有数据库服务器名称select * from Sys.SysServers --修改数据库服务器名称sp_dropserver 'old_serv ... 
- android apk 在哪个目录下安装?
			system/app系统自带的应用程序,无法删除.data/app用户程序安装的目录,有删除权限.安装时把apk文件复制到此目录.data/data存放应用程序的数据 
- 多线程数据库查询(ADO)
			ADO多线程数据库查询通常会出现3个问题: 1.CoInitialize 没有调用(CoInitialize was not called):所以,在使用任何dbGo对象前,必须手 调用CoIniti ... 
- JAVAWEB 一一 fmt标签 和日期插件
			fmt标签 效果 操作: ①导入标签 <%@ taglib uri=httpjava.sun.comjspjstlfmt prefix=fmt %> ②标签这么写 <td>& ... 
- 网络层——IP报文头介绍
			IP数据包也叫IP报文分组,传输在ISO网络7层结构中的网络层,它由IP报文头和IP报文用户数据组成,IP报文头的长度一般在20到60个字节之间,而一个IP分组的最大长度则不能超过65535个字节. ... 
- java 代码块,静态代码块,构造器等的执行顺序
			写了一段测试代码,如下: public class ExecutionSequence extends fatherClass{ static{ System.out.printl ... 
- zabbix 分布式zabbix_proxy
			Zabbix是一个分布式监控系统,它可以以一个中心点.多个分节点的模式运行,使用Proxy能大大的降低Zabbix Server的压力,Zabbix Proxy可以运行在独立的服务器上 1)下载zab ... 
- ubuntu14安装TensorFlow
			1.安装ubuntu 网址:https://www.cnblogs.com/blog4matto/p/5581914.html 选择ubuntu14的原因:最初是想安装16的,后来发现总出问题,网上查 ... 
