对面试笔试中的简单易错问题的简单的总结篇一
1. 类的加载顺序:
父类的静态域-子类的静态域 父类的非静态域-父类的构造函数 子类的非静态域-子类的构造函数
规律就是 父类先于子类 静态的先于非静态的,
其中静态域包含静态代码块与静态方法,这个谁在前面,则先执行谁。
2. 二维数组:
定义,一维长度必须定义,二维可以后续定义;
并且可以:`float []f[] = new float[6][6];`
3. 加载驱动程序的方法:
1. class.forName;
2. 通过添加系统的jdbc.drivers属性;
3. 通过registerDriver方法注册
4. 计算余弦值:
使用Math类的cos()方法Math.toRadians()是将角度转换为弧度;
Math.toDegrees()是将弧度转换为角度;而cos()内需要的参数正是弧度;
所以计算42°角的余弦值:`double d=Math.cos(Math.toRadians(42))`
5. synchronized关键字:
用来给对象和方法或者代码加锁,当它锁定一个代码块时,同一时刻最多只有一个线程执行这段代码,
6. volatile:
修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值
7. serialize:
代表序列化,一个类想要实现序列化,必须实现序列化接口Serializable,序列化是为了把对象变成流进行传递
8. static关键字:
可以修饰变量,方法,代码块;
静态变量:由static修饰的变量称为静态变量;静态变量属于类;
静态方法:静态方法中只能调用静态变量和静态方法,不能使用this,super关键字;
非静态方法中:可以调用静态方法和静态变量;
静态代码块:用来给类初始化
9. 静态变量:
正如静态变量属于类而言,静态变量只能在类中定义,不能在类中的方法内定义
10. 位运算^:
想与: &------均1才1,否则0
相或: |------有1就1,否则0
相异或: ^------不同为1,相同为0
11. 匿名内部类:
匿名内部类必须继承一个类或实现一个接口;
匿名内部类是匿名的,所以不能定义构造函数;
匿名内部类中不能含有静态成员变量和静态方法
12. 抽象类:
抽象类可以包含属性,方法,构造方法,但是构造方法不能用来new实例,只能用来被子类调用;
抽象类可以有私有的变量和方法;
抽象类可以有抽象和非抽象的方法,如jdk1.8后接口中可以有默认方法和静态方法;
13. 接口:
接口中只能包**含静态常量**和**抽象方法**,不能有普通属性,构造方法,普通方法,静态块等;
jdk1.9是允许接口中出现private修饰的默认方法和静态方法
14. final关键字:
final修饰,类、方法、属性,而不能修饰抽象类;
final修饰的方法不能被重写(父类子类间)而不是重载(本类中)!;
final修饰属性,此属性就是一个常量,不能被再次赋值;