有抽象方法的类一定是抽象类
凡用abstract修饰的类就是抽象类
抽象类不一定有抽象方法:抽象类可以没有抽象方法(提供缺省实现,约束子类行为? )。
不能有抽象构造方法或者抽象静态方法
一个类继承抽象类或者实现接口,但是又无所有抽象方法的具体实现时为抽象类。--(有抽象方法的类一定是抽象类)
接口是一种特殊的抽象类(抽象属性集[public static final 常量大写] 和 抽象方法集[public abstract]), 接口是可插入性的保证。一个类可以实现多个接口。如果两个接口有相同方法定义,由于没有实现,所以当被同一个类实现时,两个相同的方法合并成一个方法实现即可。
接口作为类型使用:接口当作参数传递
extends 放在 implements 之前
优先使用接口,尽量少用抽象类
异常处理模型:抓抛模型
try{
}catch(Exception1 e1){ throw new Exception1(...);
}catch(Exception2 e2){
}catch(Exception3 e3){
}finally{
//始终执行
释放内存,关闭文件,关闭数据库连接等扫尾工作,可选
}
try可嵌套,可多个catch,或者无catch有finally
throw用来主动抛出异常
Exception err
err.pringStackTrace();
err.getMessage();
异常处理 java.lang.Throwable Error Exception
调用栈机制:处理顺序为 try/catch, 调用方法,调用程序,..., main(),异常中断
断言
assert 布尔表达式
assert 布尔表达式:细节描述
java -source 1.4 *.java 使用此命令编译
java -ea javaprogram 使用此命令运行
java -disableassertions 或 java -da
包 结构命名:前缀。工程名。子系统名。模块内部结构(表现层|逻辑层|数据层)。类名