java基础知识拾遗(三)
1.类加载
bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类。 extension classloader -扩展类加载器,它负责加载JRE的扩展目录(JAVA_HOME/jre/lib/ext或者由java.ext.dirs系统属性指定的)中JAR的类包。 system classloader -系统(也称为应用)类加载器,它负责在JVM被启动时,加载来自在命令java中的-classpath或者java.class.path系统属性
或者 CLASSPATH*作系统属性所指定的JAR类包和类路径。
2.涉及继承时的构造顺序
1、执行父类的静态代码块
2、执行子类的静态代码块
3、执行父类的构造代码块
4、执行父类的构造函数
5、执行子类的构造代码块
6、执行子类的构造函数
3.哪些情况下需要使用抽象类
当一个类的一个或多个方法是抽象方法时
当类是一个抽象类的子类,并且不能为任何抽象方法提供任何实现细节或方法体时
当一个类实现一个接口,并且不能为任何抽象方法提供实现细节或方法体时
4.Java程序中的类名称必须与存放该类的文件名相同这句话是错的
声明为public类型的类名必须与文件名相同,默认权限的可以不同
并且内部类的类名一般与文件名不同
5.abstract相关
被abstract修饰的方法不能再被final,static,private修饰
被abstract修饰的类不能被final修饰
6.Properties
Properties类继承了HashTable,是线程安全的