权限修饰符(掌握) 本类 同一个包 不同包的子类 不同的包的类 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); } } |