一、初始化和清理:
1、先父类后子类 ,先静态后非静态 ,先属性后方法 先声明后赋值。
2、finalize:垃圾回收机制中对象被回收前会调用的
3、final: 修饰符 修饰变量,方法,类 修饰的变量为常量 修饰的方法不能被重写。 修饰的类不能被继承
4、finally:异常处理try..catch中的一部分 表示一定会执行的代码块
二、继承和多态
1、继承:从一个已有类中派生出新的类, 新的类为子类 ,已有类为父类 ,子类可以继承父类所有的属性和方法也可以扩展自己的属性和方法。符合is a ,类和类之间是单继承。
2、什么不能被继承:private 构造方法
3、多态:不同对象调用相同的方法产生不同的响应
前提条件:1.继承或是实现 2.方法的重写 3.父类引用指向子类对象
动态绑定机制:前期绑定 编译期看对象声明 后期绑定 运行期看对象
4、重写:在继承或者实现关系中 子类对父类同名方法的覆盖 方法名,参数列表,返回类型相同,权限不能缩小
5、重载:在一个类中,方法名相同,参数列表不同(类型,个数,顺序)
三、接口和内部类
抽象类 abstract class 抽象方法 权限 返回值 abstract 方法名(参数)
接口:interface 公用的静态常量 公共的抽象方法
类 多实现 接口 接口 多继承 接口
interface A{
int X=100;
void eat();
}
异常:
Throwable
Error:
Exception:异常
RuntimeException:
NullPointerException, IndexOutofBoundsException IOexception
处理:
1.throws 抛出异常声明
2.try{
可能出现异常的代码
}catch(){
异常的处理
}catch(){
}finally{
}
自定义异常:throw 异常对象
四、rtti
Class对象:获取方式: 1.类名.class 2.Class.forName("包名+类名") 3.对象.getClass()
newInstance()
getDeclaredConstructors()
getDeclaredFields()
getDeclaredMethods()
五、集合类库
List:有序可重复 ArrayList LinkedList Stack 遍历
Set:无序不可重复 HashSet TreeSet 遍历
Map:键值对 键不能重复 HashMap HashTable TreeMap 遍历 keySet() get(key)
Comparable:自然顺序
Comparator:比较器类 工具
Collection: 接口 下面有两个子接口List 和 Set
Collections:类 集合的工具类 里面提供静态方法操作集合 比如sort
六、数据库
SQL语句:增删改查
JDBC:
四大物件:
DriverManager:管理一组数据库驱动
Connection:负责与数据库的连接
Statement:传送sql到数据库执行
ResultSet:接收查询返回的结果集
七、IO
字节流:InputStream OutputStream
字符流: Reader Writer
Serilizable:序列化接口 transient
xml:作用 存储和传输数据 做配置文件
4种解析方式:DOM
Dom4j
JDom
Sax
八、多线程
进程:一块内存空间(进行中的应用程序)
线程:组成进程的单元
多线程:进程中多个线程同时执行
创建方法:1.extends Thread 2.implements Runnable
t.start() sleep() currentThread() getName()
线程安全问题:多个线程同时 对一个共享数据操作 导致数据错误
解决:使用同步synchronized 1.同步方法 2。同步代码块
//对象锁: 当前类的Class对象
public static synchronized void eat(){}
死锁 :由于不正确的同步嵌套引起的
解决: 1.不要嵌套 2.合理安排锁的顺序 3.wait() notify()
线程通信:wait() notify() noitfyAll() -->Object类中提供用在同步中。