1、static关键字【重点】
static中问意思:静态的
static和对象无关
static怎么用:
1.1、修饰成员变量 静态属性
语法格式:
static 数据类型 变量名;
注意事项:
1、使用static修饰的变量叫静态变量
2、代码中对象还没有创建的时候,如果加载了类,那么static修饰的属性就已经存在,和对象没有丝毫关系
1.2、修饰成员方法 静态方法
语法格式:
public static 返回值 方法的名字 (参数列表) {
}
调用静态方法:
类.方法名字
1.3、修饰代码块 静态代码块
语法格式:
static {
语句体
}
注意:只要这个类加载了,那么静态代码块就一定会执行
执行顺序:静态代码块 》 构造代码块 》 构造方法
注意:static没什么东西,只是用它修饰的目标可被类直接调用
2、异常
程序自上而下执行的时候,发生了不可预期的事件,这个事件阻止了程序的运行,这就是异常。
如:数组下标越界 类转换异常
Java中有很多封装好的异常类,有着很优秀的异常处理机制。
2.1Throwable类
构造方法:
Throwable() 构造一个新的可抛出的
null`作为其详细信息。
Throwable(String message)构造一个具有指定的详细消息的新的throwable。
方法:
String | getMessage()返回此Throwable的详细消息字符串。 |
---|---|
void | printStackTrace()将此Throwable和其追溯打印到标准错误流。 |
String | toString()返回此可抛出的简短描述。 |
2.2错误和异常
Throwable 下面有两个子类,Error 和 Exception
Error:代表JVM本身的错误,程序员无能为力,,,,,,
Exception:异常,代表程序在运行过程中出现了不可预期的事件,可以使用Java找出来,让它继续执行下去。
异常分两种:
编译时异常:
FileNotFoundException
SQLException
ClassNotFoundException
InterruptException
运行时异常:
数组下标越界 ArrayIndexOutOfBoundException
类转换异常 ClassCastException
空指针异常 NullPointerException
2.3怎样应对异常【重点】
Java提供的两种应对方案
1.异常的捕捉
2.异常的抛出
二者的差别就是捕捉处理异常,代码继续运行
抛出就是碰见错误直接打断代码的运行
2.3.1异常的捕捉
很像if - else语句
如果遇到异常,就捕捉异常
没有异常,代码正常运行
语法格式:
tyr {
有可能出现的异常
} catch (异常对象) {
//针对于面对异常的处理方案
} finally {
//无论有无异常,都运行finally,基本不用finall
}
2.3.2异常的抛出
在代码出现异常的地方进行异常的抛出
一旦抛出异常,就会在抛出异常的地方立即中断代码的运行
使用两个关键字:
throw:在方法中抛出一个异常,自己造一个错的那种
throws:在方法的声明处书写,告知当前调用者,此处有异常,要小心!
2.4自定义异常
Java提供了很多异常对象,但有时候还是满足不了现实生活中的需求,我们要自己制造异常对象。
继承Exception
3、string
3.1strring类型的两种声明方式
String str = "狗蛋";
String str1 = new String("狗蛋");