1.顺序执行下列程序语句后,则b的值是()
String a="Hello";
String b=a.substring(0,2);
正确答案: C
A.Hello
B.Hel
C.He
D.null
分析:substring 方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串。
2.下列有关Servlet的生命周期,说法不正确的是?
正确答案: A
A.在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例
B.在Servlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法
C.在销毁阶段,执行destroy()方法后会释放Servlet 占用的资源
D.destroy()方法仅执行一次,即在服务器停止且卸载Servlet时执行该方法
分析:
Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。
(1)加载:容器通过类加载器使用servlet类对应的文件加载servlet
(2)创建:通过调用servlet构造函数创建一个servlet对象
(3)初始化:调用init方法初始化
(4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求
(5)卸载:调用destroy方法让servlet自己释放其占用的资源
3.
1 2 3 4 |
|
最后输出什么?
正确答案: C
A.19
B.20
C.21
D.22
4.在java中重写方法应遵循规则的包括()
正确答案: B C
A.访问修饰符的限制一定要大于被重写方法的访问修饰符
B.可以有不同的访问修饰符
C.参数列表必须完全与被重写的方法相同
D.必须具有不同的参数列表
分析:在子类中创建了一个与父类中名称相同、返回值类型相同、参数列表的方法相同,只是方法体中的实现不同,以实现不同于父类的功能,这种方式被称为方法重写(override)
总结来说为:
方法名相同,参数类型相同
子类返回类型等于父类方法返回类型,
子类抛出异常小于等于父类方法抛出异常,
子类访问权限大于等于父类方法访问权限。
5关于访问权限,说法正确的是? ( )
正确答案: A
A.类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A可以访问类B的方法testB
B.类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A不可以访问类B的方法testB
C.访问权限大小范围:public > 包权限 > protected > private
D.访问权限大小范围:public > 包权限 > private > protected
分析:public>protected>default>private
6.以下代码执行后输出结果为( )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
正确答案: A
A.blockAblockBblockA
B.blockAblockAblockB
C.blockBblockBblockA
D.blockBblockAblockB
分析:在执行(1)时创建了一个Test对象,在这个过程中会执行非静态代码块和缺省的无参构造函数,在执行非静态代码块时就输出了blockA;然后执行(2)输出blockB;执行(3)的过程同样会执行非静态代码块和缺省的无参构造函数,在执行非静态代码块时输出blockA。
7.有以下一个对象:
1 2 3 4 5 6 7 8 9 10 |
|
创建一个如下方式的DataObject:
1 2 3 |
|
将此对象序列化为文件,并在另外一个JVM中读取文件,进行反序列化,请问此时读出的Data0bject对象中的word和i的值分别为:
正确答案: D
A."", 0
B."", 2
C."123", 2
D."123", 0
分析:序列化保存的是对象的状态,静态变量属于类的状态,因此,序列化并不保存静态变量。所以i是没有改变的
8.Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 ( ).
正确答案: C
A.11 ,-11
B.11 ,-12
C.12 ,-11
D.12 ,-12
分析:floor : 意为地板,指向下取整,返回不大于它的最大整数 ceil : 意为天花板,指向上取整,返回不小于它的最小整数 round : 意为大约,表示“四舍五入”,而四舍五入是往大数方向入。Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11而不是-12。
9.对于子类的构造函数说明,下列叙述中错误的是( )。
正确答案: D
A子类不能继承父类的无参构造函数。
B.子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。
C.在创建子类的对象时,若不含带参构造函数,将先执行父类的无参构造函数,然后再执行自己的无参构造函数。
D.子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
分析:构造函数不能被继承,构造方法只能被显式或隐式的调用。
10.下列说法正确的是
正确答案: B
A.在类方法中可用this来调用本类的类方法
B.在类方法中调用本类的类方法可直接调用
C.在类方法中只能调用本类的类方法
D.在类方法中绝对不能调用实例方法
分析:A this指当前对象只能在实际方法和构造函数中调用。C 可以调用其他类的非私有类方法。D 不能直接调用,到先生成对象。通过对象即可调用实例方法。
11.下面哪种流可以用于字符输入:
正确答案: C
A.java.io.inputStream
B.java.io.outputStream
C.java.io.inputStreamReader
D.java.io.outputStreamReader
分析:
首先B和D排除,题目是要求输入。
A和C之间,inputStream是字节流输入流;而inputStreamReader是对字符流的处理,inputStreamReader将字符流处理成字节流,题目要求是用于处理字符输入,所以选C。
12.运行代码,输出的结果是()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
正确答案: A
A.P is init<br />123
B.S is init<br />P is init<br />123
C.P is init<br />S is init<br />123
D.S is init<br />123
分析:
不会初始化子类的几种
1. 调用的是父类的static方法或者字段
2.调用的是父类的final方法或者字段
3. 通过数组来引用
13.JAVA反射机制主要提供了以下哪些功能?
正确答案: A B C D
A.在运行时判断一个对象所属的类
B.在运行时构造一个类的对象
C.在运行时判断一个类所具有的成员变量和方法
D.在运行时调用一个对象的方法
14.关于Float,下列说法错误的是()
正确答案: C
A.Float是一个类
B.Float在java.lang包中
C.Float a=1.0是正确的赋值方法
D.Float a= new Float(1.0)是正确的赋值方法
分析:
- Float是类,float不是类.
- 查看JDK源码就可以发现Byte,Character,Short,Integer,Long,Float,Double,Boolean都在java.lang包中.
- Float正确复制方式是Float f=1.0f,若不加f会被识别成double型,double无法向float隐式转换.
- Float a= new Float(1.0)是正确的赋值方法,但是在1.5及以上版本引入自动装箱拆箱后,会提示这是不必要的装箱的警告,通常直接使用Float f=1.0f.
15.下面代码输出结果是?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
正确答案: B
A.BB
B.CBB
C.BAB
D.None of the above
分析:
1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化;
2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化;
3.其次,初始化父类的普通成员变量和代码块,在执行父类的构造方法;
4.最后,初始化子类的普通成员变量和代码块,在执行子类的构造方法;
16.关于抽象类与最终类,下列说法错误的是?
正确答案: D
A.抽象类能被继承,最终类只能被实例化。
B.抽象类和最终类都可以被声明使用
C.抽象类中可以没有抽象方法,最终类中可以没有最终方法
D.抽象类和最终类被继承时,方法可以被子类覆盖
分析:这里只是说“声明”,并没有说“实例化”;如果只是声明是可以的,最常见的使用方式就是:
1、父类类型的引用指向子类的对象;
2、 接口类型的引用指向该接口的实现类的对象;
以上两种使用方式也就是所谓的“向上转型”。
最终类就是被final修饰的类,最终方法就是被final修饰的方法。最终类不能被继承,最终方法不能被重写。
17.以下JS程序段的运行结果为:
var a = 1;
console.log(a)
let a = 6;
- A、
undefined
- B、
1
- C、
运行错误
- D、
6
正确答案: C
18.判断以下程序的运行结果
console.log(null == undefined)
- A、
运行错误
- B、
true
- C、
false
- D、
undefined
正确答案: B
分析:null == undefined输出true,null === undefined输出false
19.运行以下JavaScript程序段的结果为:
var a = 1;
console.log(a)
var a = 6;
- A、
运行错误
- B、
1
- C、
6
- D、
undefind
正确答案: B