9道常见的java笔试选择题
1.关于Java编译,下面哪一个正确()(选择一项)
A.Java程序经编译后产生machine code
B.Java程序经编译后会生产byte code
C.Java程序经编译后会产生DLL
D.以上都不正确
答案:B
分析: Java是解释型语言,编译出来的是字节码; 因此A不正确,C是C/C++语言编译动态链接库的文件为.DLL; 正确答案为B
2.下列说法正确的有()(选择一项)
A.class中的construtor不可省略
B.construtor与class同名,但方法不能与class同名
C.construtor在一个对象被new时执行
D.一个class只能定义一个construtor
答案:C
分析:A:如果class中的construtor省略不写,系统会默认提供一个无参构造
B:方法名可以与类名同名,只是不符合命名规范
D:一个class中可以定义N多个construtor,这些construtor构成构造方法的重载
3.Java中接口的修饰符可以为()(选择一项)
A.private
B.protected
C.final
D.abstract
答案:D
分析:接口中的访问权限修饰符只可以是public或default
接口中的所有的方法必须要实现类实现,所以不能使用final
接口中所有的方法默认都是abstract的,所以接口可以使用abstract修饰,但通常abstract可以省略不写
4.给定以下代码,程序将输出 ()(选择一项)
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
分析:在继承关系下,创建子类对象,先执行父类的构造方法,再执行子类的构造方法。
5.下列关于关键字的使用说法错误的是()(选择一项)
A.abstract不能与final并列修饰同一个类
B.abstract类中可以有private的成员
C.abstract方法必须在abstract类中
D.static方法能处理非static的属性
答案:D
分析:因为static得方法在装载class得时候首先完成,比 构造方法早,此时非static得属性和方法还没有完成初始化所以不能调用。
6.下列哪些语句关于内存回收的说法是正确的()(选择一项)
A.程序员必须创建一个线程来释放内存
B.内存回收程序负责释放无用内存
C.内存回收程序允许程序员直接释放内存
D.内存回收程序可以在指定的时间释放内存对象
答案:B
分析: A. 程序员不需要创建线程来释放内存.
C. 也不允许程序员直接释放内存.
D. 不一定在什么时刻执行垃圾回收.
7.选出合理的标识符()(选择两项)
A._sysl_111
B.2 mail
C.$change
D.class
答案:AC
分析: 标识符的命令规范,可以包含字母、数字、下划线、$,不能以数字开头,不能是Java关键字
8.下列说法正确的是()(选择多项)
A.java.lang.Cloneable是类
B.java.langRunnable是接口
C.Double对象在java.lang包中
D.Double a=1.0是正确的java语句
Double a=1.0是正确的java语句
分析:java.lang.Cloneable是接口
9.以下对继承的描述锚误的是 ()
AJava中的继承允许一个子类继承多个父类
B.父类更具有通用性,子类更具体
C.Java中的继承存在着传递性
D.当实例化子类时会递归调用父类中的构造方法
答案:A
分析:Java是单继承的,一个类只能继承一个父类。