1.抽象类方法的访问权限默认都是public。( B )
A.正确
B.错误
解析:
关于抽象类
JDK 1.8以前,抽象类的方法默认访问权限为protected
JDK 1.8时,抽象类的方法默认访问权限变为default
关于接口
JDK 1.8以前,接口中的方法必须是public的
JDK 1.8时,接口中的方法可以是public的,也可以是default的
JDK 1.9时,接口中的方法可以是private的
2.下面关于程序编译说法正确的是(C)
A.java语言是编译型语言,会把java程序编译成二进制机器指令直接运行
B.java编译出来的目标文件与具体操作系统有关
C.java在运行时才进行翻译指令
D.java编译出来的目标文件,可以运行在任意jvm上
解析:
A:.java编译成的是字节码,再被各系统的jvm翻译成本系统可以识别的机器码,这就是java一次编程多平台应用的跨平台性
B:java源文件生成的是class文件,与系统无关
C:注意字节码和机器码不是一回事 java程序在运行时字节码才会被jvm翻译成机 器码,所以说java是解释性语言
D:注意jvm的版本,好比人穿裤子,一条裤子能被任何人穿上吗
3.往OuterClass类的代码段中插入内部类声明, 哪一个是错误的:(ABCD)
public class OuterClass{
private float f=1.0f;
//插入代码到这里}
A.class InnerClass{
public static float func(){return f;}
}
B.abstract class InnerClass{
public abstract float func(){}
}
C.static class InnerClass{
protected static float func(){return f;}
}
D.public class InnerClass{
static float func(){return f;}
}
解析:
主要考核了这几个知识点:
1.静态内部类才可以声明静态方法
2.静态方法不可以使用非静态变量
3.抽象方法不可以有函数体
4.哪个是不正确的字符常量?(ABCD)
A.”\n”
B.”1”
C.”a”
D.”\101”
解析:
双引号代表的字符串常量,而不是字符常量
5.下列说法错误的有(ABCD)
A.Java面向对象语言容许单独的过程与函数存在
B.Java面向对象语言容许单独的方法存在
C.Java语言中的非静态方法属于类中的成员(member)
D.Java语言中的方法必定隶属于某一类(对象),调用方法与C语言的过程或C++语言的函数相同
解析:
java不允许单独的方法,过程或函数存在,需要隶属于某一类中。——AB错
java语言中的方法属于对象的成员,而不是类的成员。不过,其中静态方法属于类的成员。——C错
java调用方法和C调用过程,C+ + 的函数肯定不一样
6.设有下面两个赋值语句:
a = Integer.parseInt(“1024”);
b = Integer.valueOf(“1024”).intValue();
下述说法正确的是(D)
A.a是整数类型变量,b是整数类对象。
B.a是整数类对象,b是整数类型变量。
C.a和b都是整数类对象并且它们的值相等。
D.a和b都是整数类型变量并且它们的值相等。
解析:
intValue()是把Integer对象类型变成int的基础数据类型;
parseInt()是把String 变成int的基础数据类型;
Valueof()是把String 转化成Integer对象类型;(现在JDK版本支持自动装箱拆箱了。)
本题:parseInt得到的是基础数据类型int,valueof得到的是装箱数据类型Integer,然后再通过valueInt转换成int,所以选择D
7.我们在程序中经常使用“System.out.println()”来输出信息,语句中的System是包名,out是类名,println是方法名。(B)
A.正确
B.错误
解析:
System是java.lang包下的一个类,out为System的final静态成员(PrintStream类型),println()是PrintStream类的实例方法。
8.在java中,无论在何处调用,使用静态属性必须以类名做前缀。(B)
A.正确
B.错误
解析:
1.如果是本类使用,可以直接就用静态变量名。
2.如果是其他类使用,可以使用类名来调用,也可以创建一个实例对象来调用。
3.如果静态变量所在的类是静态类,那么不管在本类里或者在其他外部类,都可以直接使用静态变量名。
9.有关finally语句块说法正确的是(ABCD )
A.不管catch是否捕获异常,finally语句块都是要被执行的
B.在try语句块或catch语句块中执行到System.exit(0)直接退出程序
C.finally块中的return语句会覆盖try块中的return返回
D.finally 语句块在 catch语句块中的return语句之前执行