类、对象、构造器

类定义了属性、方法,是抽象的,写在扩展名为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面向对象简单知识总结-考试用的更多相关文章

  1. JAVA面向对象初步知识总结:封装、继承、多态

    1.封装 把数据和方法包装进类中,以及具体实现的隐藏,常共同被称作是是封装.其结果是一个同时带有特征和行为的数据类型.所谓具体实现的隐藏是通过访问权限控制实现的.JAVA 子类重写继承的方法时,不可以 ...

  2. Java面向对象基础知识汇总

    OOP:Orient Object Programe AOP:Aspect Orient Programe 封装:Encapsulation 继承:Inheritance 多态:Polymorphmi ...

  3. java 面向对象基本知识

    1.继承 使用extends实现继承 只有单继承 子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法).  instanceof是二元 ...

  4. java面向对象基础知识

    一.面向对象与面向过程的区别: ①所处的角色不同:前者指挥者,后者执行者:②所需知道的事情不同:前者知道哪些是做这些事情的人就可以,不需了解具体的事情操作的过程.后者需要具备应有的技能来做这些事情. ...

  5. Java面向对象 正则表达式

     Java面向对象 正则表达式 知识概要:                (1)正则表达式的特点 (2)正则表达的匹配 (3)正则表达式的切割,替换,获取 (4)正则表达式的练习 正则表达式:符合 ...

  6. Java面向对象 线程技术--上篇

     Java面向对象   线程 知识概要:                   (1)线程与进程 (2)自定义线程的语法结构 (3)多线程概念理解 (4)多线程状态图 (5)多线程--卖票 (6)同 ...

  7. Java面向对象 异常

     Java面向对象  异常 知识概要:                  (1)异常的概述                  (2)异常的体系                  (3)异常的处理 ...

  8. Java面向对象 继承(上)

       Java面向对象 继承 知识概要:         (1)继承的概述 (2)继承的特点 (3)super关键字 (4)函数覆盖 (5) 子类的实例化过程 (6) final关键字 (1)继承 ...

  9. Java面向对象 String 基本数据类型对象包装类

      Java面向对象  String 知识概要:              (1)String的用法详解 (2)基本数据类型对象包装类 String          顾名思义,该类主要是对字符串 ...

随机推荐

  1. python面试的100题(8)

    企业面试题 15.python新式类和经典类的区别? (在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获得所有“新式类”的特性 ...

  2. 堆(Heap)和栈(Stack)

    详细可以查看这篇文章:https://www.cnblogs.com/qingtianMo/p/5255121.html 栈保存代码执行(调用)的路径,堆负责保存对象(数据) 栈相当于摞盒子,进入一个 ...

  3. mysql之路4

    MYSQL之约束 2.主键约束 349行cnname换成cname

  4. leetcode 力扣第七题: 整数反转

    哇,发现会写算法的人好牛逼啊,而且好像大多写算法的都不用PHP,哈哈哈哈哈,在领扣里面都没有php这个选项,真尴尬 从几个月之前就想刷题了,但是不会啊,很懵逼啊,昨天搜了一下答案,好像才打开了我这个写 ...

  5. 题解【洛谷P5315】头像上传

    本题就是按照题目模拟, 只是要注意一些细节问题. Wrong Answer的主要有以下2个问题: 注意这句话: 在图片上传前,系统会对图片进行如下处理:如果图片的任何一边长度超过了 G ,那么系统会不 ...

  6. awk从放弃到入门(3):awk变量

    一.变量概述 对于awk来说"变量"又分为"内置变量" 和 "自定义变量" , "输入分隔符FS"和"输出分隔 ...

  7. 每天进步一点点------创建Microblaze软核(二)

    第四步 进入Platform Studio操作界面通过向导创建软核后,进入到PlatformStudio——内核开发环境.Platform Studio主界面如下图. 在Ports项中,右键点击RS2 ...

  8. 新手学习PHP的避雷针,这些坑在PHP开发中就别跳了

    不要!用记事本编辑php文件 早些年能用记事本编程是一些人自我吹嘘的资本,能用记事本编程就是牛逼的代名词.但是这里要告诫大家的是,千万不要使用Windows自带的记事本编辑任何文本文件.用Window ...

  9. jquery--获取input checkbox是否被选中以及渲染checkbox选中状态

    jquery获取checkbox是否被选中 html <div><input type="checkbox" id="is_delete" n ...

  10. IntelliJ IDEA 2017.3尚硅谷-----忽略大小写提示