Override 和 overload
Override是重写,是在子类与父类中,子类中的方法的方法名,参数个数、类型名、类型都与父类中的完全一样,在子类中覆盖了父类的该方法。
Overload是重载,是在同一个类中,定义了多个同名的方法,它们或有不同的参数个数,顺序,类型。不能通过访问权限、返回类型、抛出的异常进行重载
Java中常用的包,类,接口
常用的包:
java.lang java.io java.util java.sql javax.servlet java.math
常用的类:
BufferedReader String StringBuilder BufferedWriter ArrayList HashMap Arrays Collections
常用的接口:
List Map Comparable Runnable
Java中有几种类型的流?java.io
字节流、字符流
字节流: InputStream OutputStream
字符流: InputStreamReader OutputSteamWriter
Reader类是Java的I/O读字符的父类, 读 char[] 或String
InputStream类是Java的I/O读字节的父类; 读 Byte[]
InputStreamReader是关联字节到字符的桥梁。
以文件读写为例:
1) File file = new File("hello.txt");
FileInputStream in = new FileInputStream(file);
2) File file = new File("hello.txt");
FileInputStream in = new FileInputStream(file);
FileInputStreamReader inReader = new FileInputStreamReader(in,"UTF-8");
BufferedReader bufReader = new BufferedReader(inReader);
3) File file = new File("hello.txt");
FileReader fileReader = new FileReader(file);
int ch = 0;
while((ch = fileReader.read()) != -1) {
System.out.println((char)ch);
}
BufferedReader bufReader = new BufferedReader(fileReader);
String data = bufReader.readLine();
while(data != null) {
System.out.println(data);
data = bufReader.readLine();
}
final, finally, finalize的区别
final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承;
finally是异常处理语句结构的一部分,表示总是执行;
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法 提供垃圾收集时的其他资源回收,例如关闭文件等。JVM不保证此方法总被调用。