Java面向对象简单知识总结-考试用
类、对象、构造器
类定义了属性、方法,是抽象的,写在扩展名为java的文件中。
对象是类的实体,是具体的。
构造器:方法名与类名一致、没有返回类型,可以重载不能重写。在创建对象时调用。使用new调用实现分配内存空间的目的。
访问控制符
|
访问控制 |
本类 |
同一包 中的类 |
其他包 中子类 |
其他包 中的类 |
|
public |
Ö |
Ö |
Ö |
Ö |
|
private |
Ö |
× |
× |
× |
|
protected |
Ö |
Ö |
Ö |
× |
|
缺省 |
Ö |
Ö |
× |
× |
面向对象的特性:
封装
类的封装:讲属性和方法放在一起成为一个类。
属性的封装:将属性用private私有化,然后提供public的get、set方法进行访问。
继承
类的继承是单继承,使用extends关键字,继承之后子类可以直接使用父类可继承的属性和方法。
继承规则:
类与类是单继承
所有类都直接或者简介继承于object
子类可以重写(覆盖)父类的方法
private修饰的不能重写
构造器不能重写
final修饰的不能重写
多态
Java中多态的实现是通过重载和重写。
重载:一个类中,方法名一样、参数列表不同的方法称为重载,本质上是完全没关系的方法。
方法重写(方法覆盖):发生在两个类中,并且两个类需要有继承关系,方法签名一样的方法叫方法重写。
方法重写规则:
方法签名必须相同(方法名、参数列表)
修饰符的权限只能大不能变小
异常只能少不能多
返回类型只能变小不能变大
常见类:
Random—生成随机数
System—系统级的很多属性和控制方法都放置在该类的内部
Date—时间类的基础
String—字符串类
Math—数学计算、数学常数,都是静态的
接口:
在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
接口的规则:
接口之间可以继承,并且是多继承。
类和接口是实现关系,不是继承,可以多实现。
接口内都是抽象方法和静态常量。
抽象类:
使用abstract修饰的类,可以包含抽象方法,不能被实例化。
是用来被继承的,所以不能用final修饰类、抽象方法,但是具体方法可以用final修饰。
抽象类也是类,所以遵从类的规则,比如单继承。
Java文件结构:
第一行是package声明包路径。
第二部分是0到多个import进行导包。
第三部分是一个或者多个class。
其中只有一个class可以被public修饰,其他必须为默认。public修饰的class类名必须和文件名完全一致。
常见的包介绍:
java.lang 包含Java程序所需要的基本类(默认导入)
java.util 包含丰富的常用工具类,如集合框架、日期时间等
java.math 包含执行精度数学运算功能的类
java.awt 包含创建图形界面程序和消息处理的类
java.io 提供数据流,对象序列和输入/输出类
java.net 包含编写网络程序的类
java.sql 包含使用java访问数据库的API
java.text 包含处理文本,日期,数字及消息的类和接口
Io流:
字节流:InputStream和OutputStream为字节输入输出流,属于抽象流类。
字符流:Reader和Write为字符输入输出流,属于抽象流类。
常见的具体实现类:
FileInputStream类
该类以字节为单位从文件中读取数据。
ByteArrayInputStream类
该类在内存中创建一个字节数组缓冲区,从输入流读取的数据保存在该字节数组缓冲区中。
ObjectInputStream类
该类从输入流读入对象,读取对象信息。
FileOutputStream类
该类以字节为单位将数据写入到文件。
BufferedOutputStream类
BufferedOutputStream 是缓冲输出流。它继承于FilterOutputStream。
BufferedOutputStream 的作用是为另一个输出流提供“缓冲功能”
ObjectOutputStream类
该类将对象信息写入到输出流。
InputStreamReader类
该类从数据源读取字节并将其解码为使用指定的字符集的字符。
FileReader类
该类继承于InputStreamReader,用于读取字符类文件,如文本文件。
BufferedReader类
该类用于将缓冲区中的数据以字符为单位读取。
FileWriter类
该类从 OutputStreamWriter 类继承而来。该类按字符向字符类文件写入数据。
BufferedWriter类
该类用于将文本写入字符输出流,缓冲各个字符,从而提供单个字符,数组和字符串的高效写入。
异常体系:
最大的是Throwable类,下面有两个子类: Exception、Error
Exception是可以处理的异常类型,Error是系统级别的错误,一旦发生不可修复。所以我们正常处理异常是指的Exception范围内。
Exception下分两类异常:运行时异常和检查性异常。运行时异常只有运行时才能知道是否需要处理,检查性异常在编写代码时强制要求必须考虑异常情况进行处理。
异常的处理:
捕获并处理异常:try-catch-finally
无法处理的抛出:throw(一行执行代码,后面抛出一个异常实例)、throws(声明在方法上,后面抛出多个异常类型)
常见的异常:
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组下标越界异常:ArrayIndexOutOfBoundsException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
集合框架:
Collection 接口
Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的元素, Java不提供直接继承自Collection的类,只提供子接口(如List和Set)。
Collection 接口存储一组不唯一,无序的对象。
List 接口
List接口是一个有序的 Collection,使用此接口能够精确的控制每个元素插入的位置,能够通过索引(元素在List中位置,类似于数组的下标)来访问List中的元素,第一个元素的索引为 0,而且允许有相同的元素。
List 接口存储一组不唯一,有序(插入顺序)的对象。
Set
Set 具有与 Collection 完全一样的接口,只是行为上不同,Set 不保存重复的元素。
Set 接口存储一组唯一,无序的对象。
Map
Map 接口存储一组键值对象,提供key(键)到value(值)的映射。
常见关键字:
abstract 表明类或者成员方法具有抽象属性
boolean 基本数据类型之一,布尔类型
break 提前跳出一个块
byte 基本数据类型之一,字节类型
case 用在switch语句之中,表示其中的一个分支
catch 用在异常处理中,用来捕捉异常
char 基本数据类型之一,字符类型
class 类
continue 回到一个块的开始处
default 默认,例如,用在switch语句中,表明一个默认的分支
do 用在do-while循环结构中
double 基本数据类型之一,双精度浮点数类型
else 用在条件语句中,表明当条件不成立时的分支
enum 枚举
extends 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口
final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变
finally 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
float 基本数据类型之一,单精度浮点数类型
for 一种循环结构的引导词
if 条件语句的引导词
implements 表明一个类实现了给定的接口
import 表明要访问指定的类或包
instanceof 用来测试一个对象是否是指定类型的实例对象
int 基本数据类型之一,整数类型
interface 接口
long 基本数据类型之一,长整数类型
native 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
new 用来创建新实例对象
package 包
private 一种访问控制方式:私用模式
protected 一种访问控制方式:保护模式
public 一种访问控制方式:共用模式
return 从成员方法中返回数据
short 基本数据类型之一,短整数类型
static 表明具有静态属性
super 表明当前对象的父类型的引用或者父类型的构造方法,可以使用父类内容
switch 分支语句结构的引导词
this 指向当前实例对象的引用,使用当前对象的内容区别于super
throw 抛出一个异常
throws 声明在当前定义的成员方法中所有需要抛出的异常
try 尝试一个可能抛出异常的程序块
void 声明当前成员方法没有返回值
while用在循环结构中
Java面向对象简单知识总结-考试用的更多相关文章
- JAVA面向对象初步知识总结:封装、继承、多态
1.封装 把数据和方法包装进类中,以及具体实现的隐藏,常共同被称作是是封装.其结果是一个同时带有特征和行为的数据类型.所谓具体实现的隐藏是通过访问权限控制实现的.JAVA 子类重写继承的方法时,不可以 ...
- Java面向对象基础知识汇总
OOP:Orient Object Programe AOP:Aspect Orient Programe 封装:Encapsulation 继承:Inheritance 多态:Polymorphmi ...
- java 面向对象基本知识
1.继承 使用extends实现继承 只有单继承 子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法). instanceof是二元 ...
- java面向对象基础知识
一.面向对象与面向过程的区别: ①所处的角色不同:前者指挥者,后者执行者:②所需知道的事情不同:前者知道哪些是做这些事情的人就可以,不需了解具体的事情操作的过程.后者需要具备应有的技能来做这些事情. ...
- Java面向对象 正则表达式
Java面向对象 正则表达式 知识概要: (1)正则表达式的特点 (2)正则表达的匹配 (3)正则表达式的切割,替换,获取 (4)正则表达式的练习 正则表达式:符合 ...
- Java面向对象 线程技术--上篇
Java面向对象 线程 知识概要: (1)线程与进程 (2)自定义线程的语法结构 (3)多线程概念理解 (4)多线程状态图 (5)多线程--卖票 (6)同 ...
- Java面向对象 异常
Java面向对象 异常 知识概要: (1)异常的概述 (2)异常的体系 (3)异常的处理 ...
- Java面向对象 继承(上)
Java面向对象 继承 知识概要: (1)继承的概述 (2)继承的特点 (3)super关键字 (4)函数覆盖 (5) 子类的实例化过程 (6) final关键字 (1)继承 ...
- Java面向对象 String 基本数据类型对象包装类
Java面向对象 String 知识概要: (1)String的用法详解 (2)基本数据类型对象包装类 String 顾名思义,该类主要是对字符串 ...
随机推荐
- SOC-training image镜像内核文件(DE1-soc软件实验”hello_word")
在DE1-soc软件实验”hello_word"此实验中,我开始并没有将SOC-training image镜像内核文件用win32disk写入sd卡中,直接插入sd卡,发现putty连接c ...
- Adobe 系列下载链接
(注意!:在下方链接前加上 "pan.baidu.com/s/" 才是正确网址,用"百度网盘"下载) Photoshop 专区(图像处理软件) Adobe Ph ...
- pikaqiu练习平台(XSS(跨站脚本))
XSS(跨站脚本)概述 Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS.一般XSS可以分为如下几种常见类型: ...
- python前后台交互相关配置
全局配置:全局样式.配置文件 在js下创建setting.js ,配置全局的settings.js import settings from '@/assets/js/settings' Vue.pr ...
- E. Pavel and Triangles dp+问题转化
E. Pavel and Triangles dp+问题转化 题意 给出n种线段,每种线段给出一定数量,其中每个线段都是 \(2^k\) 问最多能组成多少个三角形 思路 因为每个是\(2^k\)所以能 ...
- 【转载】Java泛型(一)
转自:http://www.cnblogs.com/lzq198754/p/5780426.html 1.为什么需要泛型 泛型在Java中有很重要的地位,网上很多文章罗列各种理论,不便于理解,本篇将立 ...
- 淘宝 Api 查询手机号
https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13834782535 淘宝 Api 查询手机号
- ES+VBA 实现批量添加网络图片
需求:通过自动读取相对应列的图片网址,自动添加到图片列,从而完成添加图片 案例:需要将备注列的图片网址添加到图片列的内容 关键代码 '引入API Private Declare Function UR ...
- 欧拉函数-bzoj2818-简单推导
This article is made by Jason-Cow.Welcome to reprint.But please post the writer's address. http://ww ...
- 用eclipse发布springboot项目
使用eclipse打包springboot项目时一直报错 [ERROR] No compiler is provided in this environment. Perhaps you are ru ...