首页 > 代码库 > 笔试题z

笔试题z

下面代码的运行结果为B

class Test extends Thread{
    public void run(){
        for (int i = 0; i < 1000; i++) {
            System.out.println(i);
        }
    }
    public static void main(String[] args) {
        Test t=new Test();
        t.run();
        for (int i = 999; i >= 0; i--) {
            System.out.println(i);
        }
    }
}

A.同时按照升序排列到999并降序到0

B.从0到999升序排列,再从999到0降序排列

C.先从999到0降序排列,然后从0到999升序排列

D.编译错误

2.下面代码的运行结果为B

class A{
    private Thread t1,t2;
    public static void main(String[] args) {
    new A();
    }
    A(){
        t1=new T1();
        t2=new T2();
        t1.start();
        t2.start();
    }
}

class T1 extends Thread{
    public void run(){
        try {
            sleep(500);
        } catch (InterruptedException e) {
            
        }
        System.out.println("t1 done");
    }
    
}
class T2 extends Thread{
    public void run(){
        try {
            sleep(1000);
        } catch (InterruptedException e) {
            
        }
        System.out.println("t2 done");
    }
    
}

A.

t2 done
t1 done

B.

t1 done
t2 done

C.编译错误

3.下列代码块哪个是编写正确的(B)

A.

abstract class A{
    private String name;
    public abstract boolean isName(String name){}
}

B.

abstract class A{
    private String name;
    public abstract String doSomething();
}

C.

public class A{
    private String name;
    public int addOne(final int x){
        return ++x;
    }
}

D.

class A{
    private static void main(String[] something_to_do) {
        System.out.println("DO Something");
    }
}

4.下面哪个选项的说法是正确的(B)

A.构造函数不能被重载

B.构造函数不能被覆盖

C.一个构造函数可以返回一个私有的或一个对象的引用

D.构造函数代码执行时是从当前的类层级到它祖先的类

问题解析:重载构造函数是一个主要的技术,可以允许多种方式初始化一个类。通过定义,构造函数是没有返回值的。所以选项C是错误的,这种说法并没有任何意义。选项D中构造函数代码的执行是从它最老的祖先类开始向下执行调用。可以写一个继承一个基类的类来测试,当创建一个子类的时候,会发现它的祖先类的构造函数先被调用。
5.下面哪个说法是正确的(C)

A.在一个子类中一个方法不是public就不能被重载

B.覆盖一个方法只需要满足相同的方法名和参数类型就可以了
C.覆盖一个方法必须需要相同的方法名参数和返回类型
D.一个覆盖的方法必须有相同的方法名、参数名和参数类型
解析:
对于在同一可访问区内被声明的几个具有不同参数列(参数的类型、个数、顺序不同)的同名函数,程序会根据不同的参数列来确定具体调用哪个函数,这种机制叫重载,重载不关心函数的返回值类型。覆盖是指派生类中存在重新定义的函数,其函数名、参数列、返回值类型必须同父类中的相对应被覆盖的函数严格一致,覆盖函数和被覆盖函数只有函数体(花括号中的部分)不同,当派生类对象调用子类中该同名函数时会自动调用子类中的覆盖版本,而不是父类中的被覆盖函数版本,这种机制就叫做覆盖。
成员函数被重载的特征如下。
(1)相同的范围(在同一个类中);
(2)函数名字相同;
(3)参数不同; 
覆盖的特征如下。
(1)不同的范围(分别位于派生类与基类); 
(2)函数名字相同;
(3)参数相同;

 

6.观察下列代码段属于哪种设计模式()

public interface Duck{
    public void quack();
    public void fly();
}
public interface Turkey{
    public void gobble();
    public void fly();
}
public class TurkeyDuck implements Duck{ Turkey turkey; public TurkeyDuck(Turkey turkey){ this.turkey=turkey; } public void fly(){ for(int i=0;i<5;i++){ turkey.fly(); } }

A.观察者模式

B.适配器模式

C.装饰模式

D.合成模式

7.下面关于线程描述错误的是()

A.每个对象的cynchronized方法都有一个锁

B.每个对象都有一个锁

C.每个类都有一个锁

D.一个线程调用一个对象的wait()方法,该线程必须拥有这个对象的锁

8.从HTTP请求中,获得请求参数,应该调用哪个方法?()

A.调用HttpServletRequest对象的getAttribute()方法

B.调用ServletContext对象的getAttribute()方法

C.调用HttpServletRequest对象的getParameter()方法

D.调用Session对象的getAttribute()方法

9.下列解析大量数据XML的方式哪种数度最快?B or D

A.Dom

B.SAX

C.JDOM

D.DOM4J

10.哪种结构,平均来讲,获取任意一个指定值最快?

A.二叉排序树

B.哈希表

C.栈

D.链表

11.关于ServletAPI中forword与redirect,说法正确的是?()

A.两者完全等价

B.sendRedirect能够跳转到其他服务器上的资源

C.forword能够减少浏览器与服务器的交互

D.都能隐藏实际的链接地址

12.下面哪些不属于request的方法?()

A.getRemoteHost()

B.getServletPath()

C.getInputStream()

D.getOutputStream()

13.下面关于ajax描述错误的是()

A.页面无刷新,用户的体验非常好

B.支持异步方式与服务器通信,具有更加迅速的响应能力。

C.不支持同步方式与服务器通信

D.把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,
减轻服务器和宽带的负担,节约空间和宽带租用成本。

14.下面语句中描述正确的是?

A.JTA事务周期可横跨多个JDBC Connection生命周期

B.JDBC事务是由Connection进行管理的

C.Springd事务处理机制包括了声明式和编程式两种

D.以上都对

15.假设被要求建一个旅馆的日程系统和接待机构,已经给定一下信息,根据给定信息建一系列相关的类()

在接待机构方面有以下信息:Head Chefs             Chefs           Apprentice Chefs

这个系统需要存储employeeid,salary和zhe holiday entitlement,

你怎样通过给定的信息很好的创建一系列类来表示这些信息?

A.分别差un关键Head Chefs,Chefs,Apprentice Chefs类,并存储其他的值于域中

B.创建一个employee类,并创建它的子类Head Chefs,Chefs,Apprentice Chefs,并存储其他值于域中 。

C.创建一个employee类,类中包含Job title域和其他值的域。

D.创建一个包括上面提到的所有条目的类,并创建一个contain类来表示employee。

笔试题z