堆栈:
可变参数定义方法:
对象属性、方法:
类图:
构造方法:
String:
main方法:
代码块:
普通代码块:在方法或语句中({})
构造块:在类中({})
静态代码块:只执行一次
类中(static{})
主方法所在类中(static{})
同步代码块:
运行优先级:主方法所在类中静态代码块 > 主方法 > 类中静态代码块 > 构造块 > 构造方法
构造方法封装:
内部类:
静态内部类:
外部访问内部类:
方法中定义内部类:
单链表:
节点类:
设置及输出:
继承:
class 子类 extends 父类 {}
方法的重载与覆写:
this和super:
抽象类的定义及使用规则:
final:声明类(不能有子类)、方法(不能被覆写)、变量(成为常量,全部字母大写)
abstract:抽象类、抽象方法(只需声明,必须被继承)
interface:接口
接口继承(允许多继承)
implements:实现接口(允许多继承)
对象的多态:向上转型、向下转型(先向上才能向下;强制转换)
instanceof
类设计时永远不要去继承一个已经实现好的类。
抽象类应用--模板设计
接口应用--制定标准
设计模式--工厂设计
设计模式--代理设计
设计模式--适配器设计
抽象类和接口
object类
主要方法:
接收引用类型的对象:接收接口、数组等
包装类
装箱和拆箱
匿名内部类
异常处理
Exception处理其他异常
throws
throw:直接抛出一个异常
throw和throws应用
RuntimeException
自定义异常
断言:一般不使用
包(package)
定义:
执行:
import
类的导入:
系统常见包
静态导入
jar
.java -> .class -> .jar
压缩:jar -cvf my.jar org (org编译后生成的包文件夹)
解压:jar -xf my.jar
访问权限控制:
java命名规范
Thread 线程(不能资源共享)
继承Thread类:必须覆写run()方法
Runnable接口(可以资源共享,建议使用)
实现Runnable接口,依靠Thread类完成启动:public Thread(Runnable target)和public Thread(Runnable target,String name)
线程状态:创建(创建线程对象)、就绪(调用start()方法)、运行(获得CPU服务)、阻塞(某些情况下让出CPU暂停执行)、终止(调用stop()方法或run()方法执行结束)
线程操作方法
main方法也是一个进程
线程强制运行:t.join()
进程休眠:Thread.sleep(1000) //休眠1s
中断线程
后台进程
线程优先级
返回当前进程:Thread.currentThread()
取得线程优先级:Thread.currentThread().getPriority()
进程暂停:Thread.currentThread().yield()
同步操作
同步代码块(synchronized(){}):
同步方法(synchronized 方法返回值 方法名称(参数列表){}):
方法的完整格式
死锁
Object类对线程的支持:等待与唤醒
线程生命周期
停止线程运行(设置标志位的方式)
泛型
泛型类定义:
泛型对象定义:
eg:
泛型的指定中,无法指定基本数据类型,必须设置成类,如数字的包装类
可以指定多个泛型类型:class Point<S,I> {}
通配符<?>:用来接收任意泛型对象
受限泛型
泛型上限
泛型下限
泛型不能向上转型
定义泛型接口,两种方法
定义泛型接口的子类
子类也使用泛型
定义泛型方法
public <T> T fun(T t){}
通过泛型方法返回泛型类实例
泛型数组