Java 基础
@purpose:随手记下基础的一些知识,这些知识都是自己以前没怎么注意的基础知识,加深印象
1. static 方法:
- 静态方法中只能引用外部的静态属性
- 静态方法中也只能引用静态的内部类(即被 static 修饰的类)
2. this关键字: this 关键字是不能在 static 方法或者 static 代码块中使用的
原因:static 类型的方法或者代码块是属于类本身而不属于某个对象,this 本身就代表着当前类对象,然而静态方法或者块调用的时候是不用初始化对象的。
3. 异常处理:
问题:在程序猿编码时,常常要进行异常处理,不过处理异常的方法有两种(捕获 和 抛出),那么什么时候该"捕获异常"?什么时候又该"抛出"异常呢?
解答:当方法带返回值时,就捕获异常;方法不带返回值时,就抛出
- 带返回值的方法:
public boolean save(String filename){
/*
* 保存文件
*/
try{
File file = new File(path + filename);
...
// 未产生异常
return true;
} catch (FileNotFoundException e){
// 产生异常
return false;
}
}
- 不带返回值的方法:
public void save(String filename) throws FileNotFoundException{
File file = new File(path + filename);
...
}
4. 内部类访问外部类的属性需要加 final 关键字:
- 错误代码:
public class Test {
private String name;
private class Test1{
public void sayHello(){
System.out.println("Hello, My name is " + name); // 会报错
}
}
}
- 正确代码:
public class Test {
private final String name; // 加上了 final 关键字修饰
private class Test1{
public void sayHello(){
System.out.println("Hello, My name is " + name);
}
}
}