一、填空题
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);
了解更多技术话题,钉钉扫码,进入阿里云开发者社群,与阿里专家互动
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。