1.final
1.1加到变量前面,则变量变为常量,不可以再赋值
1.2加到类前面,则类不可以被继承
1.3加到函数前面,则函数不可以重写
2.访问控制符,实现封装
同一根类 | 同一个包 | 子类 | 所有类 | |
private | * |
|
|
|
default | * | * |
|
|
protect | * | * | * |
|
public | * | * | * | * |
3.快速添加get和set方法
右键sourc》》Generate Getters and Setters
4.java中如何实现多态,使用多态的好处是什么??
·引用变量的两种类型:
编译时类型(模糊一点,一般是一个父类)
由声明时的类型决定
运行时类型(运行时,具体是哪个子类就是哪一个子类)
由实际对应的对象类型决定
多态存在的3个必要条件
1.要有继承
2.要有方法重写
3.父类引用子类对象
Animal a=new Cat();
4.printf格式化输出日期
转 换 符 | 说 明 | 示 例 |
---|---|---|
c | 包括全部日期和时间信息 | 星期六 十月 27 14:21:20 CST 2007 |
F | "年-月-日"格式 | 2007-10-27 |
D | "月/日/年"格式 | 10/27/07 |
r | "HH:MM:SS PM"格式(12时制) | 02:25:51 下午 |
T | "HH:MM:SS"格式(24时制) | 14:28:16 |
R | "HH:MM"格式(24时制) | 14:28 |
5.try、catch、finally、return的执行顺序
5.1执行try、catch语句,给返回值赋值
5.2执行finally
5.3return
1、不管有没有出现异常,finally块中代码都会执行;
2、当try和catch中有return时,finally仍然会执行;
3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,不管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;
4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。
总结:
1.一个图
2.五个关键字
3.先逮小,后逮大
4.异常和重写的关系
子类重写方法时,抛出的异常类型与父类方法抛出的异常类型相同,或都是父类异常的子类!
举例:父类 方法抛出是Exception 那么子类抛出的异常类型,可以是Exception或Exception的子类(RuntimeException)
5.自定义异常
package cn.java.e;
public class MyException extends Exception{
public MyException() {}
public MyException(String message) {
super(message);
}
}
class TestException{
void test() throws MyException{
}
public static void main(String[] args) {
try {
new TestException().test();
} catch (MyException e) {
e.printStackTrace();
}
}
}