static关键字
生活中静态的资源资源
比如说公共的教室,教室不属于你,但是你可以用
公共的资源都时属于静态的东西
Java中的静态
1修饰成员变量,静态属性
class person{
static String name;
}
属性和对象无关,直接使用类.name进行赋值
2修饰成员方法,静态方法
class person{
public static viod eat(){
}
}
使用类.静态方法名字
3修饰的代码块,静态代码块
static{
}
写在类中,只要这个类加载,静态代码块一定会执行
执行顺序:静态代码块
构造代码块
构造方法
异常
异常分为两种
编译时异常
FileNotFoundException
SQLException
ClassNotFoundException
InterruptException
运行时异常
数组下标越界 ArrayIndexOutOfBoundException
类转换异常 ClassCastException
解决异常有两种fangfa
一个是异常的捕捉,一个是异常的抛出
捕捉异常的语法格式
try {
有可能出现异常的代码
} catch (异常对象) {
//针对于面异常的处理方案
}
如果有异常就捕捉异常
public class Demo3 {
public static void main(String[] args) {
test(5, 0);
}
public static void test(int a, int b) {
try {
int ret = a / b;
System.out.println(ret);
} catch (Exception e) {
System.out.println(e.getMessage());
}
System.out.println(4+6);
}
看这个代码有明显的错误,除数为0;编译是通过的,结果运行时会报错,所以使用try-catch来捕捉异常,下面的代码4+6还是执行的
try-catch只是捕捉异常,代码依然往下执行
异常的抛出就不一样了
当异常抛出时,下面的代码就不执行了
public class Demo3 {
public static void main(String[] args) throws InterruptedException {
test(5, 0);
}
public static void test(int a, int b) throws InterruptedException {
int ret = a / b;
Thread.sleep(1000);
System.out.println(ret);
System.out.println(4+6);
}
可以看到,当抛出异常时,抛出一个ArithmeticException的异常
下面的4+6就不执行了
还有自定义异常只需要这个自定义的类去继承exception类就可以
目前所学的异常就这么多,之后再更新
谢谢观看