大学MOOC Java高级程序设计(山西大学商务学院)1450813209 最新慕课完整章节测试答案
第六章 static、final和常量设计
第六章 static和final测验
1、单选题:
下面关于变量及其范围的陈述哪些是错误的
选项:
A: 实例变量是类的成员变量
B: 实例变量用关键字static声明
C: 在方法中定义的局部变量在该方法被执行时创建
D: 局部变量在使用前必须被初始化
答案: 【 实例变量用关键字static声明】
2、单选题:
下列说法错误的是
选项:
A: 声明为static的方法可以被重写
B: 声明为static的方法不可以调用非static变量
C: 声明为final的方法可以被重写
D: 声明为final的类不可以被继承
答案: 【 声明为final的方法可以被重写】
3、单选题:
以下代码class FinalTest{ int num = 1; public static void main(String[] args) { final FinalTest ft = new FinalTest();//1 ft.num = 100;//2 //3 System.out.println(ft.num);//4 }}
选项:
A: 编译通过,但在//3处加上 ft.num ++; 后编译报错
B: 编译通过,但在//3处加上 ft = new FinalTest();; 后编译报错
C: 编译不通过,去除//1中的 final 后编译通过
D: 编译不通过,删除//2 整行后编译通过
答案: 【 编译通过,但在//3处加上 ft = new FinalTest();; 后编译报错】
4、单选题:
下列代码执行结果是class NumTest{ static int id = 1; int id2 = 1; NumTest(int id,int id2){ this.id = id; this.id2 = id2; } void printId(){ System.out.print(id+id2+" "); } public static void main(String[] args) { NumTest a = new NumTest(1,2); NumTest b = new NumTest(2,1); NumTest c = new NumTest(0,0); a.printId(); b.printId(); c.printId(); }}
选项:
A: 3 3 0
B: 1 2 0
C: 2 1 0
D: 编译报错
答案: 【 2 1 0】
5、单选题:
以下代码class FinalTest{ final int num = 1; public static void main(String[] args) { final FinalTest ft = new FinalTest();//1 ft.num = 100;//2 //3 System.out.println(ft.num);//4 }}
选项:
A: 编译通过,但在//3处加上 ft.num ++; 后编译报错
B: 编译通过,但在//3处加上 ft = new FinalTest(); 后编译报错
C: 编译不通过,去除//1的 final 后编译通过
D: 编译不通过,删除//2 整行后编译通过
答案: 【 编译不通过,删除//2 整行后编译通过】
6、单选题:
class NumTest{ final int id = 1; int id2 = 1; NumTest(int id,int id2){ this.id = id; this.id2 = id2; } void printId(){ System.out.print(id+id2+" "); } public static void main(String[] args) { NumTest a = new NumTest(1,2); NumTest b = new NumTest(2,1); NumTest c = new NumTest(0,0); a.printId(); b.printId(); c.printId(); }}
选项:
A: 3 3 0
B: 1 2 0
C: 2 1 0
D: 编译报错
答案: 【 编译报错】
7、单选题:
下列代码执行结果是 class NumTest{ final static int num1 = 1; static int num2 = 1; void printNum1(){ System.out.print(num1+" "); } void printNum2(){ System.out.print(num2+" "); } public static void main(String[] args) { NumTest a = new NumTest(); a.num2 ++; a.printNum1(); NumTest b = new NumTest(); b.printNum2(); }}
选项:
A: 1 1
B: 1 2
C: 2 2
D: 编译报错
答案: 【 1 2】
8、单选题:
下列代码执行结果是class NumTest{ final static int num1 = 1; static int num2 = 1; void printNum1(){ System.out.print(num1+" "); } void printNum2(){ System.out.print(num2+" "); } public static void main(String[] args) { NumTest a = new NumTest(); a.num1 ++; a.printNum2(); NumTest b = new NumTest(); b.printNum1(); }}
选项:
A: 2 1
B: 1 2
C: 1 1
D: 编译报错
答案: 【 编译报错】
9、单选题:
以下代码执行结果是class StaticTest{ static{ System.out.print("a "); } static{ System.out.print("b "); }
