1.接口本身具有数据成员、抽象方法、默认方法、和静态方法,但它与抽象类不同

1)接口的数据成员都是静态的且必须初始化,即数据成员必须是静态常量

2)接口中除咯声明抽象方法外,还可以定义静态方法 和默认方法

2.接口定义格式:

[public] interface 接口名称 [extends 父接口列表]

{[public][static] 数据类型 常量名 = 常量

[public] [abstract] 返回值的数据类型 方法名(参数表)

[public] static 返回值的数据类型 方法名(参数表)

{

方法体

}

[public] default 返回值的数据类型 方法名(参数表)

{

方法体}}

3.注意:1)接口中的“抽象方法”只需要声明,不用定义其处理数据的方法体

2)数据成员必须是静态的且是赋初值的,即数据成员必须是静态常量

3)接口中的成员都是公共的,在定义接口时,若省略了public修饰符,在实现抽象方法时,则不能省略该修饰符

4.既然接口中有抽象方法,而抽象方法只需要声明而不用来定义方法体,所以接口与抽象类不能用new运算符创建对象

5.相反的,必须利用接口的特性创建一个新的类,然后再用它类创建对象

利用接口创建新类的过程称为接口的实现

6.接口实现的语言格式:

class 类名称 implements 接口名表

{

}

7.一个类实现一个接口时,注意问题:

1)如果实现某接口的类不是abstract的抽象类,则在类的定一部分必须指定接口的所有抽象方法,

即非抽象类中不能有抽象方法

2)一个类在实现某接口的抽象方法时,必须使用完全相同的方法头,否则只是在定义一个新方法,

而不是实现已有的抽象方法

3)接口中抽象方法的访问控制修饰符都已被指定为public,所以类在实现方法时,必须显示地使用

public修饰符,否则被系统警告为缩小接口中定义的方法的访问控制范围

4)与类一样,每个接口都被编译成独立的扩展名为.class的字节码文件

可以声明接口类型的变量或数组,并用它来访问实现该接口的类的对象

8.与类相似,接口也有继承性。定义一个接口时可通过extends关键字声明该新街口是某个已存在的

接口的子接口,它将继承父接口的常量,抽象方法和默认方法。

与类继承不同的是,一个接口可以有一个以上的父接口,它们之间用逗号分隔,形成父接口列表

新接口将继承所有父接口中的常量、抽象方法、默认方法,但不能继承父接口中的静态方法,也不能被

实现类继承

总结:今天天接触了接口,感觉比之前的复杂,是前面的综合,涉及到静态,构造方法,抽象方法以及继承

接口中的数据成员必须是静态且初始化,接口中除咯声明抽象方法外,还可以定义静态方法和默认方法

四月二十一号Java知识基础的更多相关文章

  1. java在线聊天项目 实现基本聊天功能后补充的其他功能详细需求分析 及所需要掌握的Java知识基础 SWT的激活方法,swt开发包下载,及破解激活码

    补充聊天项目功能,做如下需求分析: 梳理项目开发所需的必要Java知识基础 GUI将使用更快速的swt实现 SWT(Standard Widget Toolkit) Standard Widget T ...

  2. 夯实Java基础(二十一)——Java反射机制

    1.反射机制概述 Java反射机制是指程序在运行状态中,对于任何一个类,我们都能够知道这个类的所有属性和方法(包括private.protected等).对于任何一个对象,我们都能够对它的属性和方法进 ...

  3. 二十一、Java基础--------IO流之综合案例分析

    前三篇文章详细介绍了IO流体系所涉及的重点内容,为了帮助理解与学习,本片博客主要是分析一个与IO操作相关的题目. 例1:在我们观看视频时经常要关注的就是视频的时间长度,在学习了IO操作之后,就可以自己 ...

  4. Java程序员从笨鸟到菜鸟之(二十一)java过滤器和监听器详解 【转】

     过滤器 1.Filter工作原理(执行流程) 当客户端发出Web资源的请求时,Web服务器根据应用程序配置文件设置的过滤规则进行检查,若客户请求满足过滤规则,则对客户请求/响应进行拦截,对请求头和请 ...

  5. 《手把手教你》系列技巧篇(二十一)-java+ selenium自动化测试-浏览器窗口的句柄(详细教程)

    1.简介 今天本来就要分享和讲解三大延时等待的,但是在写作过程中发了问题,会用到这一个知识点,于是就提前介绍一下,以便后边用到了可以更好的理解和掌握.本文就是要介绍如何获得浏览器窗体的句柄或者叫编号, ...

  6. day05<Java语言基础--数组>

    Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java ...

  7. Java基础知识二次学习-- 第二章 基础语法与递归补充

    第二章 基础语法与递归补充   时间:2017年4月24日10:39:18 章节:02章_01节,02章_02节 视频长度:49:21 + 15:45 内容:标识符,关键字与数据类型 心得:由字母,下 ...

  8. Java开发知识之Java编程基础

    Java开发知识之Java编程基础 一丶Java的基础语法 每个语言都有自己的语法规范.例如C++ 入口点是main. 我们按照特定格式编写即可. Java也不例外. Java程序的语法规范就是 Ja ...

  9. Java的基础知识一

    一.什么是 Java 技术?为何需要 Java? Java 是由 Sun Microsystems 在 1995 年首先发布的编程语言和计算平台.有许多应用程序和 Web 站点只有在安装 Java 后 ...

  10. JAVA相关基础知识

    JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...

随机推荐

  1. 微信小程序通过经纬度计算两点之间距离

    小程序中通过经纬度计算两点之间的距离km 1.拾取两地经纬度坐标 . data:{ //当前定位位置 latitude: null, longitude: null, // 目的地坐标 latitud ...

  2. transition实现元素动画平移

    效果: 将灰色背景区域移除屏幕,并实现动画效果 代码: 使用transition属性可定义平移的时间,巧用calc得出非确定高度元素的平移距离

  3. CSS vw与vh动态设置元素的高度宽度

    做为一个前端开发者,总有一天我们要设置页面某一部分内容自适应浏览器窗口大小,下面分享下使用vw和vh的设置方式, 一波解释: v(即viewport):可视窗口,也就是浏览器窗口大小.vw Viewp ...

  4. element的el-table使用模板插槽在火狐和IE无法显示tooltip(浏览器兼容)

    el-table中使用show-overflow-tooltip属性,配合tooltip出现的浏览器兼容性问题 el-table中使用show-overflow-tooltip属性内容过长被隐藏时显示 ...

  5. MariaDB简介

    一.什么是数据库 DB 与 DBMS :DB(DataBase)即数据库,存储已经组织好的数据的容器.DBMS(DataBase Manage System)是数据库管理系统用来对数据库及数据库中的数 ...

  6. 6.3dmax小场景案例

    # 知识点: 1.cut剪切 --- 快捷键 alt+c 2.仅影响轴.坐标轴回到物体中心 3.Mirror镜像 4.attach附加.detach分离 5.Collapse.Weld合点 6.bev ...

  7. 【帆吖】Java学习零基础17

    Java方法 1 package method; 2 3 public class Demo1 { 4 //main方法 5 public static void main(String[] args ...

  8. idea plugins搜不出来东西

    今天学习Vue要安装一个Vue.js的插件,在idea的plugins上搜死活搜不出来,参照了网上的关防火墙,勾选什么auto什么的选项还是不管用,最后瞎捣鼓弄好了,在博客上记录一下. 打开手机数据( ...

  9. 2021SWPUCTF-WEB(三)

    error ​ 双引号没有提示的注入,,那就是报错注入了,肯定是个恶心的东西呜呜呜 ?id=1' and updatexml(1,concat(0x7e,(select right(flag,30) ...

  10. var 和let const的区别

    var 是ES5语法,let,const是ES6语法,var存在变量提升. let const有块级作用域,var没有