堆栈:

JAVA_java

可变参数定义方法:

JAVA_数组_02

对象属性、方法:

JAVA_数组_03

类图:

JAVA_java_04

构造方法:

JAVA_数组_05

String:

JAVA_数组_06

main方法:

JAVA_数组_07

代码块:

    普通代码块:在方法或语句中({})

    构造块:在类中({})

    静态代码块:只执行一次

        类中(static{})

        主方法所在类中(static{})

    同步代码块:

    运行优先级:主方法所在类中静态代码块 > 主方法 > 类中静态代码块 > 构造块 > 构造方法


构造方法封装:

JAVA_java_08


内部类:

JAVA_数组_09

静态内部类:

JAVA_java_10

外部访问内部类:

JAVA_数组_11

方法中定义内部类:

JAVA_数组_12

单链表:

    节点类:

    JAVA_java_13


    设置及输出:

JAVA_java_14


继承:

    class 子类 extends 父类 {}


方法的重载与覆写:

    JAVA_数组_15


this和super:

  JAVA_java_16

抽象类的定义及使用规则:

JAVA_java_17


final:声明类(不能有子类)、方法(不能被覆写)、变量(成为常量,全部字母大写)


abstract:抽象类、抽象方法(只需声明,必须被继承)

JAVA_数组_18

interface:接口

JAVA_数组_19

JAVA_数组_20

接口继承(允许多继承)

JAVA_数组_21

implements:实现接口(允许多继承)

JAVA_java_22



对象的多态:向上转型、向下转型(先向上才能向下;强制转换)

JAVA_java_23


instanceof

JAVA_java_24


类设计时永远不要去继承一个已经实现好的类。


抽象类应用--模板设计


接口应用--制定标准


设计模式--工厂设计

JAVA_数组_25

设计模式--代理设计

JAVA_java_26

设计模式--适配器设计

JAVA_java_27

JAVA_java_28


抽象类和接口

JAVA_数组_29


object类

    主要方法:

JAVA_数组_30

    接收引用类型的对象:接收接口、数组等


包装类

JAVA_数组_31


装箱和拆箱


匿名内部类

JAVA_数组_32


异常处理

JAVA_java_33

Exception处理其他异常

JAVA_java_34


throws

JAVA_java_35

JAVA_java_36


throw:直接抛出一个异常

JAVA_java_37

JAVA_java_38


throw和throws应用

JAVA_java_39

RuntimeException

JAVA_数组_40

自定义异常

JAVA_数组_41

断言:一般不使用

JAVA_数组_42

包(package)

    定义:

JAVA_数组_43

    编译:

JAVA_java_44

    执行:

JAVA_数组_45

import

    类的导入:

JAVA_java_46

JAVA_数组_47

系统常见包

JAVA_java_48

静态导入

JAVA_数组_49

jar

    .java  -> .class -> .jar

    压缩:jar -cvf my.jar org  (org编译后生成的包文件夹)

    解压:jar -xf my.jar



访问权限控制:

JAVA_java_50

java命名规范

JAVA_java_51


Thread 线程(不能资源共享)

    继承Thread类:必须覆写run()方法

JAVA_数组_52

JAVA_java_53

Runnable接口(可以资源共享,建议使用)

    实现Runnable接口,依靠Thread类完成启动:public Thread(Runnable target)和public Thread(Runnable target,String name)

JAVA_java_54

JAVA_数组_55

线程状态:创建(创建线程对象)、就绪(调用start()方法)、运行(获得CPU服务)、阻塞(某些情况下让出CPU暂停执行)、终止(调用stop()方法或run()方法执行结束)

JAVA_数组_56

线程操作方法

JAVA_java_57

main方法也是一个进程

线程强制运行:t.join()

进程休眠:Thread.sleep(1000)  //休眠1s

中断线程

JAVA_数组_58

后台进程

JAVA_数组_59

线程优先级

JAVA_数组_60

返回当前进程:Thread.currentThread()

取得线程优先级:Thread.currentThread().getPriority()
进程暂停:Thread.currentThread().yield()


同步操作

    同步代码块(synchronized(){}):

    JAVA_数组_61
    同步方法(synchronized 方法返回值 方法名称(参数列表){}):

JAVA_数组_62


方法的完整格式

JAVA_java_63

死锁


Object类对线程的支持:等待与唤醒

JAVA_java_64

JAVA_java_65

线程生命周期

JAVA_java_66

停止线程运行(设置标志位的方式)

JAVA_java_67


泛型

    泛型类定义:

JAVA_java_68

JAVA_数组_69

    泛型对象定义:

JAVA_java_70

    eg:

JAVA_数组_71

泛型的指定中,无法指定基本数据类型,必须设置成类,如数字的包装类


可以指定多个泛型类型:class Point<S,I> {}


通配符<?>:用来接收任意泛型对象


受限泛型

JAVA_java_72

    泛型上限

JAVA_java_73

    泛型下限

JAVA_java_74


泛型不能向上转型


定义泛型接口,两种方法

    

JAVA_java_75

定义泛型接口的子类

    子类也使用泛型

JAVA_数组_76

    子类指定具体类型

JAVA_数组_77


定义泛型方法

    public <T> T fun(T t){}

JAVA_数组_78

通过泛型方法返回泛型类实例

JAVA_数组_79

泛型数组

JAVA_数组_80
泛型的嵌套设置

JAVA_数组_81