1) | 给定如下java代码程序片断: class A{ public A(){ System.out.println(“A”); } }
class B extends A{ public B(){ System.out.println(“B”); }
public static void main(String[] args){ B b=new B(); } } 上述程序将()(单选) | |
| a) | 不能通过编译 |
| b) | 通过编译,输出为AB |
| c) | 通过编译,输出为B |
| d) | 通过编译,输出为A |
答案 B 注意顺序先A再B,构造函数
2) | 关于线程,以下说法正确的是:()(多选) | |
|
|
|
| a) | sleep方法执行时会释放对象锁。 |
| b) | wait方法执行时会释放对象锁。 |
| c) | sleep方法必须写在同步方法或同步块中 |
| d) | wait方法必须写在同步方法或同步块中 |
答案 BD
sleep指线程被调用时,占着CPU不工作形象地说明为“占着CPU睡觉”,此时,系统的CPU部分资源被占用其他线程无法进入,会增加时间限制。
wait指线程处于进入等待状态,形象地说明为“等待使用CPU”,此时线程不占用任何资源,不增加时间限制。
3) | 给定JAVA代码如下,编译运行后,输出结果是()(单选) | |
|
| public class test{ static int i; public int test(){ i++; return i; } public static void main(String args[]){ Test test=new Test(); test.test(); System.out.println(test.test()); } } |
| a) | 0 |
| b) | 1 |
| c) | 2 |
| d) | 3 |
答案 C 在打印的方法中又掉了一次方法
4) | 给定JAVA代码如下,关于super的用法,以下描述正确的是( )(单选) | |
|
| class C extends B { public C() { super(); } } |
| a) | 用来调用类B中定义的super()方法 |
| b) | 用来调用类C中定义的super()方法 |
| c) | 用来调用类B中的无参构造方法 |
| d) | 用来调用类B中第一个出现的构造方法 |
答案 C 继承的特性
5) | 哪些是Thread类中本身的方法(不包括继承) ( )(多选) | |
| a) | start() |
| b) | sleep(long mi) |
| c) | wait() |
| d) | notify() |
答案 AB 记住吧,哥也错了
6) | 下面哪些为真()(多选) | |
|
|
|
| a) | 接口里可定义变量,并且变量的值不能修改 |
| b) | 任何情况下,类都不能被private修饰 |
| c) | 类可以被protected修饰 |
| d) | 接口不能实例化 |
答案 ABD 内部类是可以用private修饰的
7) | 下面哪些是正确的描述了关键字synhronized ( )(单选) | |
|
|
|
| a) | 允许两个进程并行运行但其之间相互通信 |
| b) | 保证任何时候只有一个线程访问一个方法或对象 |
| c) | 保证两个或多个进程同时启动和结束 |
| d) | 保证两个或多个线程同时启动和结束 |
答案 B 不解释
8) | 下列哪一种叙述是正确的()(单选) | |
|
|
|
| a) | abstract修饰符可修饰属性、方法和类 |
| b) | 抽象方法的body部分必须用一对大括号{ } |
| c) | 声明抽象方法,大括号可有可无 |
| d) | 声明抽象方法不可写出大括号 |
答案 D
9) | 下面关于网络通信正确的描述是()(多选) | |
| a) | TCP/IP协议是一种不可靠的网络通信协议。 |
| b) | UDP协议是一种可靠的网络通信协议。 |
| c) | TCP/IP协议是一种可靠的网络通信协议。 |
| d) | UDP协议是一种不可靠的网络通信协议。 |
答案 CD 这个没法解释,不懂原理。。。。。
10) | 在Java中,下面关于抽象类的描述正确的是()(多选) | |
|
|
|
| a) | 抽象类可以被实例化 |
| b) | 如果一个类中有一个方法被声明为抽象的,那么这个类必须是抽象类 |
| c) | 抽象类的方法都必须是抽象的 |
| d) | 声明抽象类必须带有关键字abstract |
答案 BD