面试题
面试题之单项选择题
单项选择题
1.下面那一项是正确的()
A. abstract 修饰符可修饰字段、方法和类
B. 抽象方法的body部分必须用一对大括号包住
C. 声明抽象方法,大括号可有可无
D. 声明抽象方法不可写出大括号
答案:D
A. abstract修饰类 abstract修饰方法
B.C.D中 public void a() ; //注意这里的 ; 号 这才叫抽象方法
public void a() {} //这里没有 ;号而是 {} 这不是抽象方法 这是一个完整的 被实现的方法~
2.输出结果是什么?
A. 0 B. 1 C. 2 D.编译失败
public class Test {
static int i =0;
public int aMethod() {
static int i =0;
i++;
return i;
}
public static void main(String[] args) {
Test test =new Test();
test.aMethod();
int j=test.aMethod();
System.out.println(j);
}
}
答案:D
static是用来修饰类成员的啊,不能用来修饰局部变量。
static意为静态修饰符,也就是说一个类在编译的时候,这个类中用static修饰的变量就已经存在了,而public int m(){}是在类实例化的时候才会有的。如果将static放入public int m(){} 方法中,就得出结论:static int i存在了, public int m(){}却不存在,这不是很矛盾吗?
3.下列哪种说法是正确的
A. 实例方法可直接调用超类的实例方法
B. 实例方法可直接调用超类的类方法
C. 实例方法可直接调用其他类的实例方法
D. 实例方法可直接调用本类的类方法
答案:D
实例方法只能直接调用本类的方法,其他类的方法得需要引用调用
A.C选项 如果方法是private 则不可以 B选项类父类的类方法是属于父类本身的 D选项虽然类方法可以类名.类方法来调用 但是new 该类 的实例方法去调也不不会报错
4. Jsp指令中isELIgnored=”boolean”的意思是
A. 决定是否实现Servlet的单线程模式
B. 决定该页面是否是一个错误处理页面
C. 决定是否支持EL表示
D. 没有具体的含义
答案:C
5、在一个线程中Sleep(1000)方法,将使得该线程在多少时间后的控制(假设睡眠过程中不会有其他时间唤醒该线程)?
A. 正好1000毫秒
B. 1000毫秒不到
C. =>1000毫秒
D. 不一定
答案是 C
大于等于1000ms 因为,在程序sleep之后线程进入就绪态,在这种状态下,需要检查现在是否有资源允许现在的线程继续运行,如果条件不满足,则需要等待。如果是现在有资源则立即执行。
6.下面的程序中,temp的最终值是什么?
long temp=(int)3.9;
temp %=2;
A.0 B.1 C.2 D.3
答案:B
7. 类Test1定义如下:
- public class Test1{
-
public float aMethod (float a, float b){return 0;}
- }
将以下哪种方法插入行3 是不合法的()
A public float aMethod (float a , float b, float c ) { return 0; }
B public float aMethod (float c ,float d){ return 0;}
C public int aMethod( int a ,int b){ return 0; }
D private float aMethod(int a ,int b, int c){return 0; }
答案:B 类似重载(方法名相同,参数的个数和类型不同)
8. 关于sleep()和wait(),以下描述错误的是()
A. sleep是线程类(Thread)的方法,wait是Object 类的方法
B. Sleep不释放对象锁,wait放弃对象锁
C. Sleep 暂停线程,但监控状态仍然保持,结束后会自动恢复
D. Wait 后进入等待锁定池,只有针对此对象发出notify方法后获得对象锁进入运行状态
答案:D
A sleep是Thread类中的方法,而wait、notify、notifyAll都是Object类中的方法
BC为sleep()并没释放锁,所以仍旧处在同步状态,监控仍旧存在,睡眠时间结束后自动恢复运行
wait()释放掉锁,所以不再处于同步状态
9. 关于线程设计,下列描述正确的是()
A 线程对象必须实现Runnable接口
B 启动一个线程直接调用线程对象的run()方法
C java 提供对多线程同步提供语言及的支持
D 一个线程可以包含多个进程
答案:C
run()方法:在本线程内调用该Runnable对象的run()方法,可以重复多次调用;
start()方法:启动一个线程,调用该Runnable对象的run()方法,不能多次启动一个线程;
10 一个长度为99的循环链表,指针A和指针B都指向了链表中的同一个几点,A以步长为1 向前移动,B以步长为3向前移动,一共需要同时移动多少部A和B才能再次指向同一个节点()
A.99 B.100 C. 49 D. 50
答案 C
11 已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134)当用二分法查找值为90的元素时,查找成功的比较次数为()
A 1 B 2 C 3 D 9
答案:B
根据二分法查找需要两次:①首先将90与表中间的元素50进行比较,由于90大于50,所以在线性表的后半部分查找:②第二次比较的元素是后半部分的中间元素,即90,这时两者相等,即查找功。
12 在实现DAO设计模式时, 下面哪种模式经常被采用
A. Proxy 模式 B. Factory模式 C.Prototype 模式 D. Observer模式
答案:B
13. HTTP协议缺省的请求方法是()
A. PUT B. GET C. POST D. TRACE
答案 :B 并且缺省的HTTP端口是( 80 )
14. 以下语句的执行结果是什么?
1+”10” +3 + “2”
A. ”11032” B. “16” C 16 D. “32101”
答案:A
15. java语言中,String s=new String(“xyz”);创建了几个对象(C)
A.1
B.2
C.3
D.4