一、选择题
1.下列叙述,哪项是不正确的( )。
A. Java中变量定义的位置决定了变量的作用域,从作用域角度可把变量分为局部变量和成员变量
B. 类定义的过程就是数据抽象的过程
C. 封装是OOP的基本特征,其目的是进行适当的信息隐藏,使对象更容易使用
D. Java中各种基本类型的数据可以进行混合运算,系统将先把不同类型转换为同一数据类型,再进行运算
2.下列叙述不正确的是( )。
A. Java中方法调用时的参数传递只有一种方式,就是值传递
B. 值传递具有单向传递的特点,无论被调用方法内部如何使用形参变量,都不会影响实参本身的值
C. Java中允许把对象整体通过输出流写入外部文件,称为对象序列化,只有实现了Serializable接口的类的对象才可以被序列化
D. Java中引用类型变量中存放的是对象的内存地址,对地址进行<、>等关系运算没有实际意义,所以Java中引用类型不能参加关系运算
3.关于下列程序,哪一项叙述是正确的( )。
public class Test {
public static void main(String[] args) {
int[][]a;
a=new int[3][];
a[0]=new int[] {
1,2,3};
a[1]=new int[] {
4,5,6,7};
a[2]=new int[] {
8,9,10};
System.out.println(a.length);
System.out.println(a[1].length);
System.out.println(Arrays.toString(a[2]));
}
}
A. 编译通过,a[1][1]的值是2
B. 编译通过,运行结果是:3,4,[8, 9, 10]。
C. 编译失败,二维数组创建错误
D. 编译通过,但运行结果不可确定
4.关于下列程序,哪一项叙述是正确的?( )
class A{
int m;
public A(){
m=5; }
public void setM(int n )
{
m=n; n++; }
public int getM()
{
return m; }
}
public class Test {
static void test(A ba){
ba.setM(20);
}
public static void main(String[] args) {
A a;
int t=10;
a=new A(