Java笔记(十四)……抽象类与接口
抽象类概念
抽象定义:
抽象类:
抽象方法的由来:
抽象类特点
- 抽象类是具体事物抽取出来的,本身是不具体的,没有对应的实例。
- 例如:犬科是一个抽象的概念,真正存在的是狼和狗。
- 而且抽象类即使创建了对象,调用抽象方法也没有意义。
模板方法设计模式
模板方法
1: //抽象类在模板方法设计模式中的应用
2: abstract class GetTime
3: {
4: public final long getTime()
5: {
6: long start = System.currentTimeMillis();
7:
8: runCode();
9:
10: long end = System.currentTimeMillis();
11:
12: return end-start;
13: }
14:
15: //定义抽象方法提高代码复用性
16: public abstract void runCode();
17: }
抽象类相关问题
抽象类中是否有构造函数
抽象类中是有构造函数的,虽然抽象类实例对象没有意义,但是抽象类仍然可以为类中的一些成员进行初始化动作,为子类提供一个模板的作用,子类可以调用父抽象类中的构造函数来完成一部分初始化动作
抽象关键字abstract不可以和哪些关键字共存?
- private:
- private不可以被子类复写,而抽象方法要求被子类复写
- final:
- final不可以被子类复写,而抽象方法要求被子类复写
- static:
- 静态方法可以被类名直接调用,而调用抽象方法是没有意义的
抽象类中可不可以没有抽象方法?
抽象类可以没有抽象方法,仅仅为了让该类不能实例化对象
接口
格式:
interface 接口名{}
接口中的成员修饰符是固定的。
- 成员常量:public static final
- 成员函数:public abstract
- 发现接口中的成员都是public的。
- 这些固定修饰可以不写,因为是默认自动加上的。
接口的出现将“多继承”通过另一种形式体现出来,即“多实现”。
接口的特点
- 接口是对外暴露的规则。
- 接口是程序的功能扩展。
- 接口的出现降低耦合性。
- 接口可以用来多实现。
- 类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。
- 接口与接口之间可以有继承关系。
- 接口支持多继承。
接口与抽象类的关系

Java笔记(十四)……抽象类与接口的更多相关文章
- “全栈2019”Java第八十四章:接口中嵌套接口详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第六十四章:接口与静态方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 《C++游戏开发》笔记十四 平滑过渡的战争迷雾(二) 实现:真正的迷雾来了
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9712321 作者:七十一雾央 新浪微博:http:/ ...
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...
- “全栈2019”Java第九十四章:局部内部类详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第十四章:二进制、八进制、十六进制
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第二十四章:流程控制语句中决策语句switch下篇
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Java从零开始学十八(抽象类和接口)
一.什么是抽象类和接口 抽象类.接口与类是一个层次的概念,是java中极其重要的概念. 抽象类是从多个类中抽象出来的公共模板,提供子类均具有的功能. 接口是从多个类中抽象出来的规范,体现的是规范和实现 ...
- 夯实Java基础(十)——抽象类和接口
转载自:http://cmsblogs.com/ 该博主的网站上干货非常!非常!非常多(说三遍),强烈推荐大家前去学习. 接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法 抽象类与接口是 ...
随机推荐
- 关于window.location不跳转的问题
今天在码代码的时候遇到个问题:html里采用onclick事件来实现window.location = url的跳转,在内嵌元素上又加上了href="javascrit:;"的属性 ...
- IdTCPServer, idTCPClient
IdTcpServer uses IdContext //需要引用 属性,方法: IdTCPServer.Active :=True; //开启服务器 IdTCPServer1.Bindings.Ad ...
- PythonCrawl自学日志(2)
一.Scrapy环境的安装 1.配套组件的安装 由于开发环境是在VS2015Community中编码,默认下载的python3.5,系统是windows8.1,为此需要安装的组件有如下列表: 所有的组 ...
- repo manifest xml 文件修改后提交命令
git push origin dev(本地分支):refs/for/tv/Internal_Jb910_develop_t
- sharepoint online
http://office.microsoft.com/en-001/sharepoint/sharepoint-online-online-collaboration-software-FX1037 ...
- Viz World and Viz Curious Maps 教程 -- 基础篇
0. 开篇之前的一些废话 本文的内容是之前因为一些原因而写的,现在打算分享出来,内容就不做更改纯迁移了…毕竟我也太久没摸过加密狗了( ╯□╰ ).内容定位是教程,对应的 Curious World M ...
- 自适应单本小说网站源码,基于bootstrap+dedecms。
具体效果:http://www.ishengxu.cc/ 基于bootstrap+dedecms,PC端与手机端自适应,广告位也都设计好了,很简单.
- Struts2 web.xml文件配置
在导入了项目需要使用的核心jar包之后需要在web.xml中配置Struts. 1. Struts2的知识点普及: Struts2共有5类配置文件,分别罗列如下: 1), Web.xml; 在没有使用 ...
- 再eclipse的javaweb项目中添加JQuery文件时jquery-2.1.4.min.js报错
解决方法: eclipse导入jquery包后报错,下面有个不错的解决方法,需要的朋友可以参考下 eclipse导入jquery包后报错,处理步骤如下: 1.打开项目.project文件,去掉如下内容 ...
- UVA 11734 Big Number of Teams will Solve This
大水题,不解释啦! #include<cstdio> #include<cstring> #define maxn 50 using namespace std; char s ...