权限修饰符(掌握)
本类 同一个包 不同包的子类 不同的包的类
private OK
默认的 OK Ok
protected OK Ok OK
public OK Ok Ok OK
2:断点调试(掌握)
自学的能力。
通过断点调试,我们可以去看任何一个程序的执行流程了。
调错能力。
步骤:
A:设置断点,在行的开头双击即可。
B:运行程序,用debug as — 程序
C:打开debug界面
观察左边:哪个方法在执行。
观察右边:哪些变量在变化。
F8:到下一个断点处
F6:下一步执行
D:删除断点
在debug界面,全部删除。
3:异常(理解)
(1)异常:就是程序出现的非正常的情况。
(2)异常的体系结构:
Throwable:
Error:重大的错误。一般我们不用处理,必须修改代码。
Exception:一般的异常,需要做异常处理的。
举例:
Error:山路塌陷
Exception:车胎爆胎
(3)jvm对异常的处理机制
采用默认处理机制,把异常的类名,原因,位置输出。
(4)自己如何进行异常处理:(掌握)
A:try…catch…finally 处理
try…catch…catch… (finally)
try…finally
JDK7的新特性:
try…catch(异常1 | 异常2 | … e){}
B:抛出
到底选择谁:你能自己处理的尽量自己处理。
等到编译器提示的时候,你去选择,你知道选谁就可以了。
(5)finally的使用:
它里面的代码永远会执行。特殊情况:在执行到它之前,已经退出了jvm。
(6)Exception和RuntimeException的区别
A:Exception 编译期间异常,在编译期间你不处理就会报错。
B:RuntimeException 运行时异常,在编译期间是不报错的。在运行报错后,需要修改代码。
(7)throws和throw的区别?
A:throws是标识方法有异常,用在方法上,后面跟的是异常类名。
throws后面可以跟Exception,调用者是必须进行异常处理的。
也可以跟RuntimeException,调用者可以不用处理。
这个时候的方法内部可能有没有throw。
B:throw是抛出异常,用在方法内,后面跟的是对象名。
throw后面可以跟Exception,那么,该方法必须使用throws声明异常。
也可以跟RuntimeException,不用声明异常。
有throw不一定有throws。
(8)自定义异常。
自定义异常的类必须是Exception或者RuntimeException的子类。
只有这样,java才识别你是一个异常体系的类。
class MyException extends RuntimeException
{
public MyException(String s)
{
super(s);
}
}