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用在循环结构中

猜你喜欢

转载自www.cnblogs.com/kittybunny/p/10987758.html