java篇 之 抽象
Abstract(抽象):
Public abstract void work(); <==> public void work(){ } 抽象方法,存在于抽象类中, 提供一个方法重写
New Person(); 抽象类不能被实例化
抽象类中不一定要有抽象方法但抽象方法一定在抽象类中,可以用父类引用引用子类对象
抽象类变成非抽象类必须实现所有抽象(且没有给出)的方法体!
Final 不能与abstract 一起使用,static 不能与abstract一起使用(因为abstract希望别人来修改,来重写,static不支持重写,final不支持修改)
Interface(接口)(也是抽象的):
- 没有构造器
- 解决多继承
Interface Animal{} interface Food{} class Fish implements Animal,Food{}
- 接口中定义变量必须赋初值,且不能用代码块,接口中的成员变量默认都是public, static, final类型,必须被显式初始化
- 一个类只能继承一个直接的父类,但是可以实现多个接口,用implements
- abstract问题:省略方法必须加abstract
- 接口编译下来也是.class文件
- 接口可以继承接口,用extends,接口支持多继承
- 接口中都是些抽象方法,作为它的实现类(子类)必须实现它的方法
- 用于制定规则
- 接口是抽象类的另外一种形式
接口是抽象类的抽象,抽象类可存在有方法体的方法,接口中的方法全部为抽 象方法;
11. 接口中的所有方法均是抽象方法, 默认都是public、abstract类型的;
public interface A {
void method1(); //合法,默认为public、abstract类型
public abstract void method2();//合法,显示声明为public、abstract类型
}
接口中的成员变量默认都是public, static, final类型,必须被显式初始化;
public interface A {
int CONST = 1; //合法,CONST默认为public, static, final类型
public static final int OPAQUE = 1; //合法,显示声明为public static final 类型
}
java篇 之 抽象的更多相关文章
- [转]有哪些值得关注的技术博客(Java篇)
有哪些值得关注的技术博客(Java篇) 大部分程序员在自学的道路上不知道走了多少坑,这个视频那个网站搞得自己晕头转向.对我个人来说我平常在学习的过程中喜欢看一些教程式的博客.这些博客的特点: 1. ...
- Java 设计模式之抽象工厂模式(三)
原文地址:Java 设计模式之抽象工厂模式(三) 博客地址:http://www.extlight.com 一.前言 上篇文章 <Java 设计模式之工厂模式(二)>,介绍了简单工厂模式和 ...
- [Java并发] AQS抽象队列同步器源码解析--独占锁释放过程
[Java并发] AQS抽象队列同步器源码解析--独占锁获取过程 上一篇已经讲解了AQS独占锁的获取过程,接下来就是对AQS独占锁的释放过程进行详细的分析说明,废话不多说,直接进入正文... 锁释放入 ...
- JSON总结(java篇)
JSON总结(java篇一) JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于 ...
- 理解Java中的抽象
在计算机科学中,抽象是一种过程,在这个过程中,数据和程序定义的形式与代表的内涵语言相似,同时隐藏了实现细节. 抽象:一个概念或者想法不和任何特定的具体实例绑死. 目录 什么是抽象 抽象的形式 如何在J ...
- 面试总结——Java篇
前言:前期对Java基础的相关知识点进行了总结,具体参看:Java基础和面试知识点.近期由于笔者正在换工作(ing),因此下面将笔者在面试过程中或笔者朋友面试过程中反馈的题目进行总结,相信弄清楚下面题 ...
- 事件驱动模型实例详解(Java篇)
或许每个软件从业者都有从学习控制台应用程序到学习可视化编程的转变过程,控制台应用程序的优点在于可以方便的练习某个语言的语法和开发习惯(如.net和java),而可视化编程的学习又可以非常方便开发出各类 ...
- 管中窥豹——框架下的SQL注入 Java篇
管中窥豹--框架下的SQL注入 Java篇 背景 SQL注入漏洞应该算是很有年代感的漏洞了,但是现在依然活跃在各大漏洞榜单中,究其原因还是数据和代码的问题. SQL 语句在DBMS系统中作为表达式被解 ...
- [Java并发] AQS抽象队列同步器源码解析--锁获取过程
要深入了解java并发知识,AbstractQueuedSynchronizer(AQS)是必须要拿出来深入学习的,AQS可以说是贯穿了整个JUC并发包,例如ReentrantLock,CountDo ...
随机推荐
- 2019牛客多校第五场 F maximum clique 1 状压dp+最大独立集
maximum clique 1 题意 给出一个集合s,求每个子集的最大独立集的权值和(权值是独立集的点个数) 分析 n比较小,一股浓浓的暴力枚举每一个子集的感觉,但是暴力枚举模拟肯定会T,那么想一想 ...
- linq和隐式类型var
隐式类型 var 强类型,声明的时候必须给变量赋值,编译器会根据值来确定其类型.只能出现在局部变量或脚本代码中. 使用范围: 简单类型:如int string等 复杂类型:如数组.类等 逻辑语句:fo ...
- MFC对话框常用操作文章收藏
1.改变控件文本 参考链接:https://blog.csdn.net/active2489595970/article/details/88856235 所有控件的文本都可以用这种方式动态改变. 2 ...
- leetcode 869. Reordered Power of 2
function reorderedPowerOf2(N) { var a1 = N.toString().split('') a1.sort((a, b) => a.localeCompare ...
- Windows下Go安装&环境配置&编译运行
Go下载安装 官方Go下载站点:https://golang.google.cn/ 也可以选择:https://studygolang.com/dl 配置环境变量 常用环境变量 GOROOT GORO ...
- while、for循环结构_python
一.while循环的基础例子: 例子1:判断是否大于50 例子2:按需打印乘法口诀 例子3:无限循环 while True: print (“true”) 二.for循环 1.for循环的常见范围的用 ...
- 项目中的process.bpmn的读-过程
1.这次项目中遇到了process.bpmn类的封装好的类.怎么读呢?不知道,一周过去了,总算明白点. 2.首先也是从Controller开始,走进service层,比如mybatis,调用的就不是m ...
- MODULE BUILD FAILED: ERROR: COULDN’T FIND PRESET “ES2015” RELATIVE TO DIRECTORY
npm run dev 遇到报错: Module build failed: Error: Couldn't find preset "es2015" relative to di ...
- IntelliJ IDEA 2017.3尚硅谷-----设置项目文件编码
这也可以 R暂时显示 C转换
- IntelliJ IDEA 2017.3尚硅谷-----如何创建模块