接口(interface)

语法:修饰符 interface 接口名 extends 父接口1,父接口2....{

//常量定义   //方法定义}

class 类名 extends 父类名 implements 接口1 ,接口2..{

//类成员  }

接口的详细说明:

在生活中,接口是一套规范,满足这个规范的设备就可以将他们组装到一起,也是可以实现具体复杂事物但有规律的功能(类似插座)

1.接口的命名规则与类相同,修饰符是public,接口会在整个项目中可见,省略修饰符该接口只在包中可见

2.接口中的属性默认(自动用public static final修饰不写自动添加,接口中的属性都为全局静态常量,必须在定义时赋初始值[不可更改])

3.接口中的所有方法都为抽象方法,接口中的方法自动用public abstract 修饰,即接口中只有全局抽象方法,所有方法都得用public修饰

4.和抽象类一样,接口也不能实例化,接口中不能有构造方法

5.接口之间可通过extends实现继承关系,一个接口可继承多个接口,但接口不能继承类

6.接口的实现类必须实现接口的全部(抽象)方法,否则必须定义为抽象类

7.一个类只能有一个直接父类,但可以通过implements实现多个接口,当类在继承父类的同时又实现了多个接口时extends关键字必须位于implements前面(即实现继承又实现接口)先继承后实现接口[java是单继承多实现]

接口的好处:

不仅妳补了java只支持单继承的缺点,还利于代码的扩展和维护

接口于抽象类的区别:

抽象类利于代码的复用,接口利于代码扩展和维护

java.lang.Object 6个方法:

equals()方法(比较字符串是否相等)

toString()方法(输出一个对象的地址)

clone()方法(复制一个对象)

finalize()方法(让垃圾回收器释放内存的时候)

wait()方法(进入等待状态)

hashCode()方法(按照一些规则把对象变为数值)

总结:

一个类要实现接口的功能,要实现接口的全部方法所以接口中不能有构造方法

接口中方法的方法体内有0条代码 抽象类

java第四章接口的更多相关文章

  1. Java程序设计(2021春)——第四章接口与多态笔记与思考

    Java程序设计(2021春)--第四章接口与多态笔记与思考 本章概览: 4.1 接口(接口的概念和声明接口.实现接口的语法) 4.2 类型转换 4.3 多态的概念 4.4 多态的应用 4.5 构造方 ...

  2. Java程序设计(2021春)——第四章接口与多态课后题(选择题+编程题)答案与详解

    Java程序设计(2021春)--第四章接口与多态课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第四章接口与多态课后题(选择题+编程题)答案与详解 第四章选择题 4.0 ...

  3. “全栈2019”Java第四章:创建第一个Java程序

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  4. [Effective Java]第四章 类和接口

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. 第三周学习java第四章学习总结及体会!

    第三周java 2第四章的学习总结: 一.主要内容(类与对象): 1.类: 2.构造方法与对象的创建: 3.类与程序的基本结构: 4.参数传值: 5.对象的组合: 6.实例成员与类成员: 7.方法重载 ...

  6. Java 第四章 选择结构2

    第四章 选择结构 (二) switch 选择结构的执行流程是怎样的? switch 选择结构中break关键字的作用? 本章目标 掌握 switch 选择结构 能够综合运用 if 选择结构 和 swi ...

  7. 控制执行流程 Thinking in Java 第四章

    4.1 true 和 false *Java 不允许将一个数字作为布尔类型(虽然在C和C++中可以),使用时需要条件表达式将其转换为布尔类型: 如下: if( a!= 0) 4.2 if-else 4 ...

  8. core java 第四章笔记

    import java.util.*; public class Employee { private static int nextid = 1; private String name; priv ...

  9. Thing in java 第四章,控制执行流程,练习题答案

    /** * Created by Sandy.Liu on 2018/7/19. * Thinking in java, version 4, chapter 4, practice 1 * Writ ...

随机推荐

  1. SfMLearner 记录

    2019年3月2日09:29:54 正在看SfMLearner的pytorch源码,意识到无监督的深度估计最重要的是利用实体的一致性 来建立loss. 对于一个不移动的物体,相机从一个pose到另一个 ...

  2. Jquery Mobile 让错误提示可在后台控制显示内容

    在jquery.mobile-1.4.5.min.js的5254行找到下面代码 return $.proxy(function( xhr, textStatus, errorThrown ) { 然后 ...

  3. Promise.all处理多个异步请求

    一个前台页面需要请求2个rest接口获取数据,一个用于解析文件获取列名,一个查询数据库获得列值. 有很低的概率页面显示为空,刷新可能就有显示了. 使用Promise.all就解决了上面的问题,2部分数 ...

  4. mybatis-plus的代码生成器

    简介:构建自定义mybatis-plus模板,自动生成mybatis,entity,mapper,service,controller 项目源码:https://github.com/y369q369 ...

  5. IoC容器的接口设计

    1.从接口BeanFactory---HierarchicalBeanFactory---ConfigurableBeanFactory,是一条主要的BeanFactory设计路径. 2.第二条接口设 ...

  6. 简单Hash函数LongHash

    import java.security.SecureRandom; import java.util.Random; public class LongHash { private static l ...

  7. Python读取文件内容与存储

    Python读取与存储文件内容 一..csv文件 读取: import pandas as pd souce_data = pd.read_csv(File_Path) 其中File_path是文件的 ...

  8. .net core2 单元测试

    1.下载   https://marketplace.visualstudio.com/items?itemName=RandomEngy.UnitTestBoilerplateGenerator 2 ...

  9. 从RDS中获取binlog

    由于使用RDS,但是没有开启日志,所以需要分析时,发现根本没有日志可以下载. 但是RDS中是存在binlog的,那么直接在线获取 首先在一台能够连接上RDS的数据中安装对应版本的mysql客户端. 到 ...

  10. C++实现根据路径读取文件内容

    已知文件路径,用C++实现读取对应文件的内容,代码如下: bool LoadShaderStr(const char* szShaderPath,string& strShaderStr) { ...