郝斌JAVASE大纲

郝斌老师java课程的总结,纯手打分享,方便复习回顾

第一部分 面向对象

1 封装

:对一类事物抽象所得到的一个概念

对象:一个具体的事物

构造函数

    特点:不能有返回值 方法名与类名相同 可以有多个

    注意:默认生成无参、无方法体、无返回值的构造函数

         自己一旦定义,编译器将不再生成默认的构造函数

         生成一个类对象时能且只能调用其中一个构造函数

static

凡是static修饰的成员都是静态成员

    静态成员都是属于类的

    非静态可以访问静态,静态不可以访问非静态

    通过类名只能访问一个类中的非私有静态成员

    私有静态成员也不可以通过对象名访问

this

非静态方法默认都含有一个this指针

       this代表正在调用本方法的对象

    final

       修饰类:该类不能被继承

       修饰方法:该方法可以被继承但不能被重写

       修饰属性:表示该属性能且只能赋值一次,并只能选两种中一种赋值(定

义的同时显式的初始化、构造函数中初始化)

    函数重载:同名不同参,返回值不能作为是否构成重载的依据

2 继承

       定义:子类继承了父类成员

    注意

非私有成员才可以被子类继承

重写:重写方法必须和被重写方法具有相同的方法名、参数列表、返回

值类型

重写方法的访问权限不能小于被重写方法(多态)

3 多态

定义:同一代码可以随上下文的不同而执行不同的操作,即一个父类的引用

既可以指向父类对象,也可以指向子类对象;它可以根据当前时刻指

向的不同,自动调用不同对象的方法

    注意

       通过父类的引用只能访问子类从父类继承的成员

       只有父类的引用本身指向一个子类对象时,才可以将其强制转化为子类

的引用

相关知识

    抽象类:

       一个抽象类通常都含有抽象方法

       只重写抽象类部分抽象方法的类也必须标记为abstract

       不可以定义抽象类对象,但抽象类可以实现多态

    接口:

       接口中方法都是public abstract

       不可以定义接口对象,但接口可以实现多态

       重写接口方法时,public不能省

       应用:

线程创建、GUI事件处理、容器的组织方式、serializable接口

第二部分 高级部分

1 异常

定义:运行时产生的错误

分类

Error无法处理的异常

Execption可以处理的异常(必须处理:除RuntimeExecption以外的异

常;非必要处理:RuntimeExecption异常)

注意

    finally{...}一定会执行

    先捕获子类异常,再捕获父类异常,顺序不可颠倒

    重写方法抛出异常的范围不能大于被重写方法(多态)

    假设f方法抛出A异常,则f有两种方式处理该异常

  1. throws A
  2. try{...}catch(){...}

2 线程

定义:一个程序运行时的不同执行路径

创建线程的方式

       继承Thread类

       实现Runnable接口

    线程的同步

        多个线程操作同一个资源,并要求这些操作中的若干个操作不能被中断

       实现:synchronized修饰代码块、方法(默认锁定this)

       例子:买票

    线程的通信

       有时多个线程需要彼此协作才可以完成某个功能

       实现:wait()、notify()、notifyAll()

       例子:生产和消费

3 包

       包的产生和运行

       package语句必须是第一条语句

       类名是包名和类名的组合

       只有在整个包的最上层目录才可以运行

    同包、不同包的相互访问:ppt

    jar包的生成与使用:普通、可运行jar包的生成

4 GUI

容器和组件的关系:容器是组件,组件不一定是容器

常见布局管理器

    BorderLayout、FlowLayout、GridLayout

事件模型

程序员只需做两件事:告诉事件源可以产生哪些事件、设计处理事件的

事件监听器

    内部类

       在类内部定义的类

       内部类的方法可以访问外部类的所有成员

       外部类的方法不可以直接访问内部类任何成员

       内部类产生的原因:类A需要使用类B的所有成员,并不需要被B外其

他类访问,则可以定义A为B的内部类;故几乎不存在直接生成内

部类对象、外部类访问内部类成员等问题

    匿名类

       匿名类是内部类的一种极端表现形式

       匿名类可以访问外部类的所有成员和包裹本匿名类方法中的final类型

的局部变量

5 IO

定义:若一个类用来完成程序和设备之间的数据传输,该类称为流

流和类的关系:流一定是类,类不一定是流

常用流介绍:

   四大基本抽象流:InputStream OutputStream Reader Writer

    字节流和字符流:字节流可以处理任意格式文件

                    字符流只能处理文本格式文件

    文件流:FileInputStream FileOutputStream FileReader FileWriter

    缓冲流:BufferedInputStream BufferedOutputStream

BufferedReader BufferedWriter

       转化流:InputStreamReader OutputStreamWriter

           例子:将键盘输入字符保存到String对象中

       数据流:DataInputStream DataOutputStream

           数据流可以把基本类型数据的二进制直接读入、写出

           例子:将long类型数据写入byte数组,再从数组中读出

       Print流:PrintStream PrintWriter

           Print流可以把基本数据类型数据格式化后的字符串输出

           例子:将键盘输入数据写入A文件,有错则将出错信息写入B文件

       Object流:ObjectInputStream ObjectOutputStream

           Object流可以把一个对象直接读入、写出

6 容器

定义:专门用来存放其他类对象的类

容器和类的关系:容器是类,类不一定是容器

Collection接口

    Set接口:

无序、不能重复

       实现类:TreeSet、HashSet

    List接口:

       有序、可重复

       实现类:ArrayList、LinkedList

    Map接口:

       既保存数据本身,也保存数据主键

       实现类:HashMap、TreeMap

    HashCode()和equals()方法

    Collections类:提供对Collection接口实现类的排序、倒置、查找等

       功能

    Comparable接口:

       通过该接口制定对象之间比较的接口

       需要进行对象比较排序的场合考虑实现该接口

    Iterator接口:

       利用接口提供的方法遍历所有容器中的对象

你可能感兴趣的:(JAVA,java)