接口(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. ELK + Filebeat 日志分析系统

    ELK + Filebeat 日志分析系统 架构图 环境 OS:CentOS 7.4 Filebeat: 6.3.2 Logstash: 6.3.2 Elasticsearch 6.3.2 Kiban ...

  2. python3学习笔记13(数据结构)

    参考http://www.runoob.com/python3/python3-data-structure.html 列表 列表是可修改的. 列表方法让列表可以方便的作为一个堆栈来使用,堆栈作为特定 ...

  3. SQL FOR JSON PATH 返回 json

    --直接返回 age FOR JSON PATH --返回值 [{"name":"张学友","age":60}] select c1, c2 ...

  4. 64 位 Windows 平台开发注意要点之文件系统重定向

    Program Files 的重定向 很多开发人员都知道,在 64 位 Windows 系统上,32 位程序是无法获取得到 C:\Program Files 的完整路径的,只能获取到 C:\Progr ...

  5. Python学习【01】编程语言简介,Python安装及环境变量配置

    编程语言介绍 开发 系统软件开发:Windows,iOS 应用软件开发:淘宝.网易云音乐.QQ 开发语言 高级语言:Python,Java,PHP, c#,GO,ruby,c++      ---&g ...

  6. iPerf 笔记

    iPerf 笔记 iperf 是一个网络性能测试工具,可以测试最大TCP和UDP带宽质量,具有多种参数和UDP特性,可以报告带宽.延迟抖动和数据包丢失. iperf 可以用来测一些网络设备,比如路由器 ...

  7. C# VS2017的.net Core1.0项目在版本升级为2.0后找不到程序集的处理办法

    最近不小心升级了VS2017,然后原来的.net web core1.0的项目是引用了DataBaseLib的程序集,如图  ,升级之后安装了2.0的框架,发现项目就报错了,,这个是还是之后报的错误, ...

  8. Oracle中文排序问题

    默认感觉中文是按拼音排序,如果没实现效果,请加上其它排序,例如日期 表名为 dept ,其中name字段是中文,下面分别实现按照单位名称的笔划.部首和拼音排序.1: //按照笔划排序2: select ...

  9. 逆向工程vgenerator(一)

    前言 想要自己实现一个mybatis-generator类似的轮子,目前只实现MySQL部分的方法.利用下班时间,写了一个小项目,实现了这个功能.我准备分成三篇博客来写这个东西. 基类 /** *基类 ...

  10. Git全面应用

    Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务. Git易于学习,占地面积小,具有闪电般快速的性能. 它超越了Subversion,CVS,Perforce和C ...