java第四章接口
接口(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第四章接口的更多相关文章
- Java程序设计(2021春)——第四章接口与多态笔记与思考
Java程序设计(2021春)--第四章接口与多态笔记与思考 本章概览: 4.1 接口(接口的概念和声明接口.实现接口的语法) 4.2 类型转换 4.3 多态的概念 4.4 多态的应用 4.5 构造方 ...
- Java程序设计(2021春)——第四章接口与多态课后题(选择题+编程题)答案与详解
Java程序设计(2021春)--第四章接口与多态课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第四章接口与多态课后题(选择题+编程题)答案与详解 第四章选择题 4.0 ...
- “全栈2019”Java第四章:创建第一个Java程序
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- [Effective Java]第四章 类和接口
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 第三周学习java第四章学习总结及体会!
第三周java 2第四章的学习总结: 一.主要内容(类与对象): 1.类: 2.构造方法与对象的创建: 3.类与程序的基本结构: 4.参数传值: 5.对象的组合: 6.实例成员与类成员: 7.方法重载 ...
- Java 第四章 选择结构2
第四章 选择结构 (二) switch 选择结构的执行流程是怎样的? switch 选择结构中break关键字的作用? 本章目标 掌握 switch 选择结构 能够综合运用 if 选择结构 和 swi ...
- 控制执行流程 Thinking in Java 第四章
4.1 true 和 false *Java 不允许将一个数字作为布尔类型(虽然在C和C++中可以),使用时需要条件表达式将其转换为布尔类型: 如下: if( a!= 0) 4.2 if-else 4 ...
- core java 第四章笔记
import java.util.*; public class Employee { private static int nextid = 1; private String name; priv ...
- Thing in java 第四章,控制执行流程,练习题答案
/** * Created by Sandy.Liu on 2018/7/19. * Thinking in java, version 4, chapter 4, practice 1 * Writ ...
随机推荐
- ssl握手数据结构
ssl握手 SSL记录头(5字节) 字节0:记录内容的类型 Content Type Hex Code Description Change_Cipher_Spec 0x14 指示加密方式的更改 Al ...
- what is MAC address
MAC Address:media access control address A media access control address (MAC address) is a unique id ...
- Virtualbox扩展硬盘
动态调整 1.VBoxManage showhdinfo win10.vdi 2.VBoxManage modifyhd win10.vdi --resize 61200 3.磁盘管理器中分配空间并格 ...
- leetcode 890. 查找和替换模式 Python
用模式的每个字母去当做key对应单词列表的每个字母value, 如果放进dict之前检测到key已经存在,就检测Word[i][j]是否是和已经存在的value一致,不一致就代表不匹配,break检查 ...
- 生产者消费者synchronized wait notify
package ProduceQueueProduce; import java.util.Queue; public class ProducerThread extends Thread { pu ...
- Redis 认识与安装
1. redis是一种Nosql数据库,使用key-value存储数据,因为基于内存存储,所以可以用来做缓存(mysql等数据库是基于表基于数据库的) 2. 和memcathed的区别 redis会生 ...
- HTML中的坐标系及其在MouseEvent和元素Box中的应用
HTML中的坐标系及其在MouseEvent和元素中的应用 HTML有四个坐标系统: Screen, Page,Client和offset, 用于描述DOM元素的Box尺寸和MouseEvent中的位 ...
- 【学习】如何安装GraphLab Create 【转载】
前人走过的路不用再走,慢慢加上一些工具的链接 GraphLab Create安装,链接地址: http://www.imooc.com/article/18094?block_id=tuijian_w ...
- chrome 如何开启网页另存为.mhtml 功能
打开chrome浏览器,输入地址:chrome://flags/ 找到将网页另存为MHTML,点击启用就可以了. 或者直接输入:chrome://flags/#save-page-as-mhtml
- python-day19 Django模板,路由分发,ORM
@获取文件所有数据 request.FILES: request.POST.get('fafafa')#拿到文件名: user = request.POST.get('user',None)#用get ...