四月二十一号Java知识基础
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知识基础的更多相关文章
- java在线聊天项目 实现基本聊天功能后补充的其他功能详细需求分析 及所需要掌握的Java知识基础 SWT的激活方法,swt开发包下载,及破解激活码
补充聊天项目功能,做如下需求分析: 梳理项目开发所需的必要Java知识基础 GUI将使用更快速的swt实现 SWT(Standard Widget Toolkit) Standard Widget T ...
- 夯实Java基础(二十一)——Java反射机制
1.反射机制概述 Java反射机制是指程序在运行状态中,对于任何一个类,我们都能够知道这个类的所有属性和方法(包括private.protected等).对于任何一个对象,我们都能够对它的属性和方法进 ...
- 二十一、Java基础--------IO流之综合案例分析
前三篇文章详细介绍了IO流体系所涉及的重点内容,为了帮助理解与学习,本片博客主要是分析一个与IO操作相关的题目. 例1:在我们观看视频时经常要关注的就是视频的时间长度,在学习了IO操作之后,就可以自己 ...
- Java程序员从笨鸟到菜鸟之(二十一)java过滤器和监听器详解 【转】
过滤器 1.Filter工作原理(执行流程) 当客户端发出Web资源的请求时,Web服务器根据应用程序配置文件设置的过滤规则进行检查,若客户请求满足过滤规则,则对客户请求/响应进行拦截,对请求头和请 ...
- 《手把手教你》系列技巧篇(二十一)-java+ selenium自动化测试-浏览器窗口的句柄(详细教程)
1.简介 今天本来就要分享和讲解三大延时等待的,但是在写作过程中发了问题,会用到这一个知识点,于是就提前介绍一下,以便后边用到了可以更好的理解和掌握.本文就是要介绍如何获得浏览器窗体的句柄或者叫编号, ...
- day05<Java语言基础--数组>
Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java ...
- Java基础知识二次学习-- 第二章 基础语法与递归补充
第二章 基础语法与递归补充 时间:2017年4月24日10:39:18 章节:02章_01节,02章_02节 视频长度:49:21 + 15:45 内容:标识符,关键字与数据类型 心得:由字母,下 ...
- Java开发知识之Java编程基础
Java开发知识之Java编程基础 一丶Java的基础语法 每个语言都有自己的语法规范.例如C++ 入口点是main. 我们按照特定格式编写即可. Java也不例外. Java程序的语法规范就是 Ja ...
- Java的基础知识一
一.什么是 Java 技术?为何需要 Java? Java 是由 Sun Microsystems 在 1995 年首先发布的编程语言和计算平台.有许多应用程序和 Web 站点只有在安装 Java 后 ...
- JAVA相关基础知识
JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...
随机推荐
- 微信小程序通过经纬度计算两点之间距离
小程序中通过经纬度计算两点之间的距离km 1.拾取两地经纬度坐标 . data:{ //当前定位位置 latitude: null, longitude: null, // 目的地坐标 latitud ...
- transition实现元素动画平移
效果: 将灰色背景区域移除屏幕,并实现动画效果 代码: 使用transition属性可定义平移的时间,巧用calc得出非确定高度元素的平移距离
- CSS vw与vh动态设置元素的高度宽度
做为一个前端开发者,总有一天我们要设置页面某一部分内容自适应浏览器窗口大小,下面分享下使用vw和vh的设置方式, 一波解释: v(即viewport):可视窗口,也就是浏览器窗口大小.vw Viewp ...
- element的el-table使用模板插槽在火狐和IE无法显示tooltip(浏览器兼容)
el-table中使用show-overflow-tooltip属性,配合tooltip出现的浏览器兼容性问题 el-table中使用show-overflow-tooltip属性内容过长被隐藏时显示 ...
- MariaDB简介
一.什么是数据库 DB 与 DBMS :DB(DataBase)即数据库,存储已经组织好的数据的容器.DBMS(DataBase Manage System)是数据库管理系统用来对数据库及数据库中的数 ...
- 6.3dmax小场景案例
# 知识点: 1.cut剪切 --- 快捷键 alt+c 2.仅影响轴.坐标轴回到物体中心 3.Mirror镜像 4.attach附加.detach分离 5.Collapse.Weld合点 6.bev ...
- 【帆吖】Java学习零基础17
Java方法 1 package method; 2 3 public class Demo1 { 4 //main方法 5 public static void main(String[] args ...
- idea plugins搜不出来东西
今天学习Vue要安装一个Vue.js的插件,在idea的plugins上搜死活搜不出来,参照了网上的关防火墙,勾选什么auto什么的选项还是不管用,最后瞎捣鼓弄好了,在博客上记录一下. 打开手机数据( ...
- 2021SWPUCTF-WEB(三)
error 双引号没有提示的注入,,那就是报错注入了,肯定是个恶心的东西呜呜呜 ?id=1' and updatexml(1,concat(0x7e,(select right(flag,30) ...
- var 和let const的区别
var 是ES5语法,let,const是ES6语法,var存在变量提升. let const有块级作用域,var没有