Java单选题详解
一、单选题(本大题共100题, 小计100.0分)
1. 访问权限修饰符有public、private、protected和默认修饰符(没有写任何修饰符),他们既可以用来修饰类,也可以用来修饰类中的成员,使用private修饰符的成员可见情况有()
A、同一类[正确选项] ;
B、不同包中的子类;
C、同一包中的非子类;
D、同一包中的子类;
参照答案:A
2.下列关于变量的叙述哪个是错的?()
A、局部变量在使用前必须被初始化;
B、实例变量是类的成员变量;
C、实例变量用关键字static声明;
D、在方法中定义的局部变量在该方法被执行时创建;
参照答案:C
在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。类的每个对象维护它自己的一份实例变量的副本。
3. 关于以下程序段,正确的说法是()
1.String s1=”abc”+”def”;
2.String s2=new String(s1);
3.if(s1= =s2)
4.System.out.println(“= = succeeded”);
5.if (s1.equals(s2))
6.System.out.println(“.equals()succeeded”);
A、行6执行,行4不执行;
B、行4与行6都将执行;
C、行4执行,行6不执行;
D、行4、行6都不执行;
参照答案:A
4. 下列程序代码段运行后,变量x的结果是( )
int x=0;
int y=3;
switch(y){
case 1:x++;
case 2:x++;x++;
case 3:x++;x++;x++;
case 4:x+=4;
}
A、10 ;
B、6 ;
C、7;
D、3 ;
参照答案:C
5. 已知A类被打包在packageA , B类被打包在packageB ,且B类被声明为public ,且有一个成员变量x被声明为protected控制方式。C类也位于packageA包,且继承了B类。则以下说法正确的是()
A、A类的实例不能访问到B类的实例;
B、A类的实例能够访问到B类一个实例的x成员;
C、C类的实例不能访问到B类的实例;
D、C类的实例可以访问到B类一个实例的x成员[正确选项] ;
参照答案:D
6. 下列Java常见事件类中哪个是鼠标事件类?()
A、WindowEvent ;
B、KeyEvent ;
C、InputEvent ;
D、MouseEvent [正确选项] ;
参照答案:D
7. 关于以下程序代码的说明正确的是()
1.class HasStatic{
2.private static int x=100;
3.public static void main(String args[ ]){
4.HasStatic hs1=new HasStatic( );
5.hs1.x++;
6.HasStatic hs2=new HasStatic( );
7.hs2.x++;
8.hs1=new HasStatic( );
9.hs1.x++;
10.HasStatic.x- -;
11.System.out.println(“x=”+x);
12.}
13.}
A、程序通过编译,输出结果为:x=102 [正确选项] ;
B、10行不能通过编译,因为x是私有静态变量;
C、5行不能通过编译,因为引用了私有静态变量;
D、程序通过编译,输出结果为:x=103 ;
参照答案:A
8. 编译运行以下程序后,关于输出结果的说明正确的是()
public class Conditional{
public static void main(String args[ ]){
int x=4;
System.out.println(“value is “ + ((x>4) ? 99.9 :9));} }
A、输出结果为:value is 99.99 ;
B、输出结果为:value is 9.0 [正确选项] ;
C、编译错误;
D、输出结果为:value is 9 ;
参照答案:B
9. 编译运行下面的代码会发生什么( )
public class Test extends Thread {
private String sThreadName;
public static void main(String argv[]) {
Test h = new Test();
h.go();
}
Test() {
}
Test(String s) {
sThreadName = s;
}
public String getThreadName() {
return sThreadName;
}
public void go() {
Test first = new Test("first");
first.start();
Test second = new Test("second");
second.start();
}
public void start() {
for (int i = 0; i < 2; i++) {
System.out.println(getThreadName() + i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
System.out.println(e.getMessage());
}
}
}
}
A、运行时错误;
B、输出first0, second0, first1, second1 ;
C、编译错误;
D、输出first0, first1, second0, second1. [正确选项] ;
参照答案:D
说明:将public void start() {改为:public void run() {则交替输出
10. java程序运行时,用于判定一个对象实例的类型运算符是()
A、== ;
B、instanceof [正确选项] ;
C、以上都对;
D、equal ;
参照答案:B
11. 下列哪一项不是Java保留字?()
A、abstract ;
B、sizeof [正确选项] ;
C、super ;
D、break ;
参照答案:B
12. 当处理的数据量很多,或向文件输出很多次小数据,一般使用的流是()
A、DataOutputStream ;
B、PipedOutputStream ;
C、BufferedOutputStream [正确选项] ;
D、FileOutputStream ;
参照答案:C
13. 获取一个不包含路径的文件名的方式为()
A、String getPath() ;
B、String getAbslutePath() ;
C、String getParent() ;
D、String getName() [正确选项] ;
参照答案:D
14. Java应用程序的入口方法是()
A、main()[正确选项] ;
B、init();
C、paint();
D、start() ;
参照答案:A
15. 下列不属于FileInputStream输入流的read()成员函数的是( )
A、int read(int line) [正确选项] ;
B、int read() ;