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 ...
随机推荐
- CodeForces 1141B
https://vjudge.net/problem/CodeForces-1141B #include<bits/stdc++.h> using namespace std; int m ...
- PP: Pattern Trails: visual analysis of pattern transitions in subspaces
Problem: 1. We can't find patterns in full attribute space, and patterns may only be found in smalle ...
- StreamPipes
MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was desi ...
- sql查询 —— 分页
-- 分页 -- limit -- limit start count (start 显示骑士值,单页数量) select *from student where gender=1 limit 6,3 ...
- VC++编译选项
-优化- /O1 最小化空间 minimize space /Op[-] 改善浮点数一致性 improve floating-pt consistency /O2 最大化速度 maximize spe ...
- Python3爬虫爬取淘宝商品数据
这次的主要的目的是从淘宝的搜索页面获取商品的信息.其实分析页面找到信息很容易,页面信息的存放都是以静态的方式直接嵌套的页面上的,很容易找到.主要困难是将信息从HTML源码中剥离出来,数据和网页源码结合 ...
- Linux - Shell - shell 执行方式
概述 shell 的执行方式 背景 偶尔执行个 shell 脚本 一般都用 './script' 执行 最近忽然看到 有不同的执行方式, 感觉有必要整理一下, 然后和大家分享 准备 os centos ...
- jenkins pipline 几个注意细节
新建jenkins pipline 1)pipeline的脚本语法要正确,sonarqube的projectKey需要做相应的修改 2)先执行一次构建,会报错 3)进到jenkins workspac ...
- IE的css hack
#element { color:orange; } #element { *color: white; } /* IE6+7, doesn’t work in IE8/9 as IE7 */ #el ...
- ABB 机器人 流水灯and跑马灯
MODULE MainModule VAR signaldi signaldi14; PROC main() //di14_test 数字输入信号 WHILE di14_test = DO ycld; ...