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 ...
随机推荐
- SQL SERVER2008 数据库日志文件的收缩方法
最近公司的数据库随着业务量的增多,日志文件巨大(超过300G),造成磁盘空间不够用,进而后来的访问数据库请求无法访问. 网上类似的方法也很多,但不可行,如下是我实践过,可行的,将日志文件收缩至任意指定 ...
- 2018-2019-2 20175227张雪莹《Java程序设计》 实验二《Java面向对象程序设计》
2018-2019-2 20175227张雪莹<Java程序设计> 实验二<Java面向对象程序设计> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学 ...
- jumpservice一步一步安装
一步一步安装 (CentOS) 本文档旨在帮助用户了解各组件之间的关系, 生产环境部署建议参考 进阶安装文档 云服务器快速部署参考 极速安装 安装过程中遇到问题可参考 安装过程中常见的问题 测试推荐环 ...
- C++调用JS函数
1 调用方法 https://blog.csdn.net/donglinshengan/article/details/29828103 https://blog.csdn.net/sunmz_wjx ...
- IDEA开发环境配置
1.JDK 2.Maven 3.Tomcat 当找不到 Artifacts , 可以查看一下: 4.配置 terminal 为 git 终端 5.MySQL 6.文件服务器 7.配置 mybatis
- JAVA正则表达式匹配,替换,查找,切割(转)
import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public c ...
- 常见cmd命令,开发人员必备
运行程序 notepad--------打开记事本 calc-----------启动计算器 regedit.exe-------注册表 write----------写字板 mmc--------- ...
- 解决oracle11G密码过期问题
Oracle提示错误消息ORA-28001: the password has expired,是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月 ...
- 【机器学习_9】sklearn
背景 机器学习的重头戏就在sklearn,里面包含各种机器学习算法.希望尽量通过便易上手的方式掌握这个库. 资料 官网--随时查 https://scikit-learn.org/stable/ sk ...
- C++实现根据路径读取文件内容
已知文件路径,用C++实现读取对应文件的内容,代码如下: bool LoadShaderStr(const char* szShaderPath,string& strShaderStr) { ...