开发者社区> 问答> 正文

【精品问答】Java基础测试题 2 答案 | 看你会多少

一、填空题

1、Java中通过extends关键字实现继承。

2、一个类只能继承一个父类,但能实现多个接口。

3、当子类中定义的方法与父类方法同名且参数类型及个数、返回值类型相同时,称子类方法覆写父类方法,子类默认使用本类已经覆写方法,使用父类的同名方法,必须使用super关键字说明。

4、当子类定义的成员变量与父类的成员变量同名时,称子类覆盖父类的成员变量,子类默认使用本类属性。使用父类的同名成员变量,必须用super关键字说明。

5、如果子类定义了构造方法,在创建子类对象时首先默认调用父类无参构造方法,然后再本类的构造方法。

二、判断题

1、final声明的类可以有子类。(×)

2、一个类继承了抽象类,则抽象类中的抽象方法需要在其子类中覆写。(√)

3、final类型的变量是常量,其内容不可改变。(√)

4、一个类不能即是子类又是父类。(√)

5、子类只能继承父类的成员,但不能修改父类成员。(×)

6、Java语言只支持单继承,不支持多继承。(√)

7、子类可以继承父类的所有成员。(√)

8、一个接口可以继承一个抽象类。(×)

9、一个接口可以同时继承多个接口。(√)

10、在程序中this和super调用构造方法时可以同时出现。(×)

三、选择题

1、不能直接使用new创建对象的类是(B)。

A、静态类B、抽象类C、最终类D、公有类

2、为类定义多个名称相同、但参数的类型或个数不同的方法的做法称为(B)。

A、方法重载B、方法覆写C、方法继承D、方法重用

3、定义接口的关键字是(C)。

A、extendsB、classC、interfaceD、public

4、现在有两个类A、B,以下描述中表示B继承自A的是(D)。

A、classAextendsB

B、classBimplementsA

C、classAimplements

D、classBextendsA

5、下面关于子类调用父类构造方法的描述正确的是(C)。

A、子类定义了自己的构造方法,就不会调用父类的构造方法。

B、子类必须通过super关键字调用父类有参的构造方法。

C、如果子类的构造方法没有通过super调用父类的构造方法,那么子类会先调用父类中无参构造方法,之后再调 用子类自己的构造方法。

D、创建子类对象时,先调用子类自己的构造方法,让后再调用父类的构造方法。

6、假设类X是类Y的父类,下列声明对象x的语句中不正确的是(D)。

A、Xx=newX(); B、Xx=newY();

C、Yx=newY(); D、Yx=newX();

7、编译并运行下面的程序,结果(B)。

publicclassA{
publicstaticvoidmain(Stringargs[]){
Bb=newB();
b.test();
}
voidtest(){
System.out.print("A");
}
}
classBextendsA{
voidtest(){
super.test();
System.out.println("B");
}
}

A、产生编译错误

B、代码可以编译运行,并输出结果:AB

C、代码可以编译运行,但没有输出

D、编译没有错误,但会运行时会产生异常

8、下面的程序编译运行的结果是(A)

publicclassAimplementsB{
publicstaticvoidmain(Stringargs[]){
intm,n;
Aa=newA();
m=a.K;
n=B.K;
System.out.println(m+","+n);
}
}
interfaceB{
intK=5;
}

A、5,5B、0,5C、0,0 D、编译程序产生编译结果

9、对于变量int val = 0b11010,System.out.println("" + val)输出是多少?(A)

A 、26 B、64 C、28 D、32

10、若a = 8,则表达式 a >>> 2 的值是多少?(D)

A、1 B、4 C、3 D、2

四、程序分析题

1、下面代码的作用是交换数组的第一个元素和最后一个元素,改正其中的错误。

public class Test{
  public static void main(String[] args){
    int[] list = new int[]{4, 4, 5, 2, 7, 1};
    int temp; // 临时变量
			
    // 交换数组的第一个元素和最后一个元素
    list[0] = temp;
    temp = list[5];
    list[5] = list[0];
  }
}

答:temp没有赋初值

2、 分析以下代码,写出运行结果。

int num = 90;
System.out.print(num ++);
double a = 89.5;
int b = (int)a + 10;
System.out.println(" "+b);

答:90 99

3、以下代码运行结果是什么?

class test  {
  public static void main (String[] args){
    Animal animal = new Cat();
    animal.running();
  }
}
	
class Animal{
  public void running(){
    System.out.println("Animal is running!");
  }
}
	
class Cat extends Animal{
  public void running(String target){
    System.out.println("Cat is running to "+target);
  }
	    
  public void running(){
    System.out.println("Cat is running.");
  }
}

答:Cat is running

五、SQL语句执行题

1、 查询Student表中的所有记录的Sname、Ssex和Class列。

SELECT SNAME,SSEX,CLASS FROM STUDENT;

2、 查询教师所有的单位即不重复的Depart列。

SELECT DISTINCT DEPART FROM TEACHER;

3、 查询Student表的所有记录。

SELECT * FROM STUDENT;

4、 查询Score表中成绩在60到80之间的所有记录。

SELECT * FROM SCORE

WHERE DEGREE>=60 AND DEGREE<=80;

SELECT * FROM SCORE

WHERE DEGREE BETWEEN 60 AND 80;

5、 查询Score表中成绩为85,86或88的记录。

SELECT * FROM SCORE

WHERE DEGREE=85 OR DEGREE=86 OR DEGREE=88;

SELECT * FROM SCORE

WHERE DEGREE IN (85,86,88);

了解更多技术话题,钉钉扫码,进入阿里云开发者社群,与阿里专家互动

test

展开
收起
游客pklijor6gytpx 2019-11-26 14:16:22 1827 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载