测试练习
/*
如何修改才能使sum变量得以访问?
*/
public class Test {
private int sum;
public static void method() {
System.out.println(sum);
}
}
因为method
方法有satic
修饰,所以这是静态方法,也就是所谓的类方法,而sum
变量因为是成员变量
要想静态方法访问,要将他变成静态成员,于是可以将private
变成static
静态方法调用的注意事项
-
静态方法可以直接访问类变量和静态方法
-
静态方法不能直接访问普通成员变量或成员方法
-
静态方法中,不能使用
this
关键字
小贴士:静态方法只能访问静态成员
个人的一些小记方法:
类变量和成员变量好比一间3居室和这3居室里的一间有锁的房子(同理成员方法和静态方法也一样)
有锁的房子里的人可以轻易的出来,但是在这外面的人不能访问里面
外面的人只能访问在这间屋里的客厅等等,客厅是这套三居室公共的,所以成员方法和静态方法都可以访问静态变量
但是有锁的房子是这间居室一个人有的客厅的人不能访问,也就是成员方法可以访问成员变量,
但是静态方法不可以访问成员变量
char c1 = 'n';
char c2 = '\n';
//转义字符也可以赋值给
异常
package cn.le0pl0d.day07;
public class TryCatchFinally {
static void Proc(int sel) {
try {
if (sel == 0) {
System.out.println("no exception");
return;
}
if (sel == 1) {
int i = 0;
int j = 4 / i;
}
} catch (ArithmeticException e) {
System.out.println("Catch");
}catch (Exception e){
System.out.println("Will not be Executed");
}finally {
System.out.println("finally");
}
}
public static void main(String[] args) {
Proc(0);
Proc(1);
}
}
注意事项
-
catch
里面定义的异常变量,如果有子父类关系,则子类一定要写在上面,否则报错。 -
finally
语句永远被执行,不管有没有异常。如果finally
里有return
语句,永远返回finally
中内容,避免该情况出现。 -
子父类异常,父类异常什么样,子类异常什么样
父类异常,子类重写抛出和父类相同的异常
父类异常,子类重写抛出父类异常的子类
父类异常,子类也可不抛出异常
----------------------------------------
父类没有异常,子类也不可抛出异常,若子类出现异常,只能捕获处理。
以上为2/13/2020做试卷的一些小记,路漫漫其修远兮,努力吧,只有不断的往前走,才知道自己到底有多菜!