1、有A、B两个类,在A和B中都有一个静态的变量和一个非静态变量,且A extends B,main方法中执行A a = new A()时,a的初始化顺序;B b = new A(),b的初始化顺序。
2、set、map、Arraylist、LinkedList低层用什么实现,他们有什么区别,分别用在什么地方?大量数据时,用什么查询快,为什么?
3、windows和Linux、unix有什么不一样?
4、给定一个int数组、数组元素为升序排列,从数组中查找指定的一个数,如果查到,返回它的下标,如果查不到,给出查不到的提示,要求用二分法实现。
5、找出100万以内的素数,要求:效率要高。
2、set、map、Arraylist、LinkedList低层用什么实现,他们有什么区别,分别用在什么地方?大量数据时,用什么查询快,为什么?
3、windows和Linux、unix有什么不一样?
4、给定一个int数组、数组元素为升序排列,从数组中查找指定的一个数,如果查到,返回它的下标,如果查不到,给出查不到的提示,要求用二分法实现。
5、找出100万以内的素数,要求:效率要高。
(1)先初始化父类B的变量-->父类B构造器的数据-->子类A的类变量-->子类A的构造器的数据
(2)跟(1)的一样;
测试代码如下:
public class InitValue {
public static void main(String[] args){
A a1 = new A();
System.out.println("-------------------------------------");
B b1 = new A();
}}class A extends B {
static int a = 5; public A() {
System.out.println("初始化A类构造器前的变量a="+a);
System.out.println("初始化A类的构造器变量");
}
}class B {
int b = 4;
public B() {
System.out.println("初始化B类构造器前的变量b="+b);
System.out.println("初始化B类的构造器变量");
}
//int b =4; 不管b变量放在上面,还是放在构造器的下面,初始化的顺序不变!
}输出结果如下:
初始化B类构造器前的变量b=4
初始化B类的构造器变量
初始化A类构造器前的变量a=5
初始化A类的构造器变量
-------------------------------------
初始化B类构造器前的变量b=4
初始化B类的构造器变量
初始化A类构造器前的变量a=5
初始化A类的构造器变量