一、下面哪一个修饰符修饰的变量是全部同一个类生成的对象共享的( C)java
A、public
B、private
C、static
D、final
解析:web
class A{}编程 class B extends A{}cookie class C extends A{}app class D extends B{}编程语言 A obj = new D();函数 System.out.println(obj instanceof B);ui System.out.println(obj instanceof C);this System.out.println(obj instanceof D);url System.out.println(obj instanceof A);
|
A、1
B、2
C、3
D、4
解析:
三、有一个源代码,只包含import java.util.* ; 这一个import语句,下面叙述正确的是? ( C)
A、只能写在源代码的第一句
B、能够访问java/util目录下及其子目录下的全部类
C、能访问java/util目录下的全部类,不能访问java/util子目录下的全部类
D、编译错误
解析:
导入java.util.*不能读取其子目录的类,由于若是java.util里面有个a类,java.util.regex里面也有个a类,咱们如果要调用a类的方法或属性时,应该使用哪一个a类呢。
四、以下代码的输出是 B
package
Test;
public
class
Test {
private
static
void
test(
int
[] arr) {
for
(
int
i =
0
; i < arr.length; i++) {
try
{
if
(arr[i] %
2
==
0
) {
throw
new
NullPointerException();
}
else
{
System.out.print(i);
}
}
finally
{
System.out.print(
"e"
);
}
}
}
public
static
void
main(String[]args) {
try
{
test(
new
int
[] {
0
,
1
,
2
,
3
,
4
,
5
});
}
catch
(Exception e) {
System.out.print(
"E"
);
}
}
}
A、编译出错
B、eE
C、Ee
D、eE1eE3eE5
E、Ee1Ee3Ee5
解析:
因为arr[0] =0,因此在进入 test()方法里面会在第一个if 上抛出一个 NullPointerException,接着会执行 finally 的语句, (finally语句先于 return 和 throw语句执行),输出一个'e,而后回到 main方法中,因为捕捉到异常,因此进入到catch语句中,而后打印一个'E',因此最终结果为"eE".
五、关于匿名内部类叙述正确的是? (B )
A、匿名内部类能够继承一个基类,不能够实现一个接口
B、匿名内部类不能够定义构造器
C、匿名内部类不能用于形参
D、以上说法都不正确
解析:
因为构造器的名字必须与类名相同,而匿名类没有类名,因此匿名类不能有构造器。
六、下面代码的运行结果为:(C)
import
java.io.*;
import
java.util.*;
public
class
foo{
public
static
void
main (String[] args){
String s;
System.out.println(
"s="
+ s);
}
}
A、代码获得编译,并输出“s=”
B、代码获得编译,并输出“s=null”
C、因为String s没有初始化,代码不能编译经过
D、代码获得编译,但捕获到 NullPointException异常
七、下列关于if-else if选择结构的说法正确的是 BD
A、多个else if块之间的顺序能够改变,改变以后对程序的执行结果没有影响
B、if块之间的顺序能够改变,改变以后可能对程序的执行结果有影响
C、多个else if块之间的顺序不能够改变,改变后程序编译不经过
D、多个else if块之间的顺序能够改变,改变后程序编译能够经过
八、下列方法中哪一个是线程执行的方法? (A)
A、run()
B、start()
C、sleep()
D、suspend()
解析:
start是启动线程对象,使之重新建状态转入就绪状态;
sleep让线程睡眠一段时间,在此期间线程不消耗CPU资源;
suspend使线程挂起,暂停执行, 若是想恢复线程,必须由其余线程调用 resume方法。
九、下面关于静态方法说明正确的是 B
A、在静态方法中可用this来调用本类的类方法
B、在静态方法中调用本类的静态方法时可直接调用
C、在静态方法中只能调用本类中的静态方法
D、在静态方法中绝对不能调用实例方法
解析:
十、下面哪一个不属于HttpServletResponse接口完成的功能?C
A、设置HTTP头标
B、设置cookie
C、读取路径信息
D、输出返回数据
解析:
1
|
response.setHeader(
"Refresh"
,
"3"
);
//三秒刷新页面一次
|
1
2
|
Cookie c1 =
new
Cookie(
"username"
,
"only"
);
response.addCookie(c1);
|
1
2
3
4
5
|
从request获取各类路径总结
request.getRealPath(
"url"
);
// 虚拟目录映射为实际目录
request.getRealPath(
"./"
);
// 网页所在的目录
request.getRealPath(
"../"
);
// 网页所在目录的上一层目录
request.getContextPath();
// 应用的web目录的名称
|
1
|
HttpServleteResponse.getOutputStream().write();
|
十一、下面哪一个不对? C
A、RuntimeException is the superclass of those exceptions that can be thrown during the normal operation of the Java Virtual Machine.
B、A method is not required to declare in its throws clause any subclasses of RuntimeExeption that might be thrown during the execution of the method but not caught
C、An RuntimeException is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch.
D、NullPointerException is one kind of RuntimeException
解析:
运行时异常的特色是Java编译器不会检查它,也就是说,当程序中可能出现这类异常,即便没有用try-catch语句捕获它,也没有用throws子句声明抛出它,也会编译经过。
非运行时异常 (编译异常): 是RuntimeException之外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,若是不处理,程序就不能编译经过。如IOException、SQLException等以及用户自定义的Exception异常,通常状况下不自定义检查异常。
十二、下列Java代码中的变量a、b、c分别在内存的____存储区存放。 C
class
A {
private
String a = “aa”;
public
boolean methodB() {
String b = “bb”;
final String c = “cc”;
}
}
A、堆区、堆区、堆区
B、堆区、栈区、堆区
C、堆区、栈区、栈区
D、堆区、堆区、栈区
E、静态区、栈区、堆区
F、静态区、栈区、栈区
解析:
A是类中的成员变量,存放在堆区。
B、C都是方法中的局部变量,存放在栈区。
1三、下列说法正确的有(ACD )
A、环境变量可在编译source code时指定
B、在编译程序时,所能指定的环境变量不包括class path
C、javac一次可同时编译数个Java源文件
D、javac.exe能指定编译结果要置于哪一个目录(directory)
1四、如下不是修饰符final的做用的是( C)。
A、修饰常量
B、修饰不可被继承的类
C、修饰不可变类
D、修饰不可覆盖的方法
解析:
public class DataObject implements Serializable{
private static int i=0;
private String word=
" "
;
public void setWord(String word){
this
.word=word;
}
public void setI(int i){
Data0bject. i=I;
}
}
DataObject object=
new
Data0bject ( );
object. setWord(
"123"
);
object. setI(2);
A、"", 0
B、"", 2
C、"123", 2
D、"123", 0
解析:
序列化保存的是对象的状态,静态变量属于类的状态,所以,序列化并不保存静态变量。因此i是没有改变的。
1六、关于异常的编程,如下描述错误的是:( A )
A、在有除法存在的代码处,为了防止分母为零,必须抛出并捕获异常
B、int i=Integer.parseInt(”123a”);将产生NumberFormatException
C、int a[]=null; a[0]=1; 将产生NullPointerException
D、输入输出流编程中,读和写时都要抛出IOException
1七、从运行层面上来看,从四个选项选出不一样的一个。 B
A、JAVA
B、Python
C、objectC
D、C#
解析:
1八、从内存实现或者反射的角度来看,关于继承的说法正确的是(A)。
A、子类将继承父类的全部的数据域和方法
B、子类将继承父类的其可见的数据域和方法
C、子类只继承父类public方法和数据域
D、子类只继承父类的方法,而不继承数据域
解析:
在一个子类被建立的时候,首先会在内存中建立一个父类对象,而后在父类对象外部放上子类独有的属性,二者合起来造成一个子类的对象。因此所谓的继承使子类拥有父类全部的属性和方法其实能够这样理解,子类对象确实拥有父类对象中全部的属性和方法,可是父类对象中的私有属性和方法,子类是没法访问到的,只是拥有,但不能使用。就像有些东西你可能拥有,可是你并不能使用。因此子类对象是绝对大于父类对象的,所谓的子类对象只能继承父类非私有的属性及方法的说法是错误的。能够继承,只是没法访问到而已。
1九、java8中,忽略内部接口的状况,不能用来修饰interface里的方法的有( AC)
A、private
B、public
C、protected
D、static
解析:
20、如下哪一种JAVA的变量表达式使得变量a和变量b具备相同的内存引用地址( AB)
A、String a = "hello"; String b = "hello";
B、Integer a; Integer b = a;
C、int a = 1; Integer b = new Integer(1);
D、int a = 1; Integer b = 1;
解析:
内存引用地址,是指栈中存放的地址,来指向堆中的某个位置。int 是基本类型,数据直接存放在栈中,不存在内存引用地址的说法==A对 指向常量池里的"hello"。B对 题中没说声明的a是局部变量。C错 int a =1;并不指向堆中,它只有值,没有引用地址,Integer b =new Integer(1);指向堆中地址为1的位置。D错 缘由同C