2024年4月19日发(作者:)
极客营十营第三周考试试卷
总分:100分 时间:120分钟
单选题 ( 共25题)
第1题 (分值:2分)
编译并运行以下程序,以下描述哪个选项是正确的( )
1. class Y{
2. protected String toString(){
3. return ng();}
4. }
A:编译通过运行无异常
B:编译通过但运行时出错
C:行2出错,不能成功编译
D:不能成功编译,行3出错
第2题 (分值:2分)
public class Test{
public static void stringReplace(String text){
text=e('j','L');
}
public static void bufferReplace(StringBuffer text){
text=("c");
}
public static void main(String args[]){
String textString=new String("java");
StringBuffer textBuffer=new StringBuffer("java");
stringReplace(textString);
bufferReplace(textBuffer);
n(textString+textBuffer);
}
}
A:编译并运行输出Lava javac
B:编译并运行输出java java
C:编译并运行输出java javac
D:编译并运行输出 Lava java
第3题 (分值:2分)
以下关于final关键字说法错误的是( )
A:final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
B:final修饰的类肯定不能被继承
C:final修饰的方法不能被重写
D:final修饰的变量不允许被再次赋值
第4题 (分值:2分)
当编译和运行下面程序时,哪项描述可以最准确的表达发生了什么事情?
public class MyAr{
public static void main(String argv[]) {
MyAr m = new MyAr();
d();
}
public void amethod(){
int i;
n(i);
}
}
A:编译并输出0
B:编译错误
C:编译并输出null
D:运行错误
第5题 (分值:2分)
以下对继承的正确描述是( )。
A:在Java中类只允许单一继承
B:在Java中一个类只能实现一个接口
C:在Java中一个类不能同时继承一个类和实现一个接口
D:在Java中接口只允许单一继承
第6题 (分值:2分)
以下代码运行输出是( )
public class Person{
}
public class Child extends Person{
}
public String grade;
public static void main(String[] args){
}
Person p = new Child();
n();
private String name=”Person”;
int age=0;
A:输出:Person
B:没有输出
C:编译出错
D:运行出错
第7题 (分值:2分)
类A、B定义如下:
1. public class A
2.{ public float aFun(float a, float b) { }
4.}
5.public class B extends A{
6.
7.}
将以下哪种方法插入行6是不合法的。( )
A:float aFun(float a, float b){ }
B:public int aFun(int a, int b) { }
C:public float aFun(float p, float q){ }
D:public int aFun(int a, float b) { }
第8题 (分值:2分)
应使用哪种修饰符定义一个类域或类方法?( )
A:static
B:package
C:private
D:public
第9题 (分值:2分)
假设类X是类Y的父类,下列声明对象x的语句中不正确的是
()。
A:X x = new X() ;
B:X x = new Y() ;
C:Y x = new Y() ;
D:Y x = new X() ;
第10题 (分值:2分)
Given:
class person{
public int addvalue(int a,int b)
{int s; s=a+b; return s; }
}
class child extends parent{}
若要在child类中对addvalue方法进行重写,下面对于child类中的addvalue方法头的描述
哪个是正确的:
A:public int addvalue(int I,int j)
B:public void addvalue()
C:public void addvalue(double i)
D:public int addvalue(int a)
第11题 (分值:2分)
在使用super 和this关键字时,以下描述正确的是( )
A:在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造
方法的第一行,否则编译不通过
B:super()和this()不一定要放在构造方法内第一行
C:this()和super()可以同时出现在一个构造函数中
D:this()和super()可以在static环境中使用,包括static方法和static语句块
第12题 (分值:2分)
覆盖与重载的关系是 ( )
A:覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B:覆盖方法可以不同名,而重载方法必须同名
C:final修饰的方法可以被覆盖,但不能被重载
D:覆盖与重载是同一回事
第13题 (分值:2分)
给出如下代码:
class Test{
private int m;
public static void fun() {
//
}
}
如何使成员变量m 被函数fun()直接访问?( )
A:将private int m 改为protected int m
B:将private int m 改为 public int m
C:将private int m 改为 static int m
D:将private int m 改为 int m
第14题 (分值:2分)
Given:
11. public static void main(String[] args) {
12. Object obj =new int[] { 1,2,3 };
13. int[] someArray = (int[])obj;
14. for (int i: someArray) (i +“ “)
15. }
What is the result? ( )
A:1 2 3
B:Compilation fails because of an error in line 12.
C: Compilation fails because of an error in line 13.
D: Compilation fails because of an error in line 14.
E: A ClassCastException is thrown at runtime.
第15题 (分值:2分)
关键字supper的作用是
A:用来访问父类的成员变量
B:用来调用父类中被重写的方法
C:用来调用父类的构造函数
D:以上都是
第16题 (分值:2分)
哪段代码填到第16行会抛出异常:astException? ( )
10. interface Foo {}
11. class Alpha implements Foo { }
12. class Beta extends Alpha {}
13. class Delta extends Beta {
14. public static void main( String[] args) {
15. Beta x = new Beta();
16. ___________________________
17. }
18. }
A:Alpha a = x;
B:Foo f= (Delta)x;
C:Foo f= (Alpha)x;
D:Beta b = (Beta)(Alpha)x;
第17题 (分值:2分)
在java 中,下列(
) 类不能派生出子类.
A:public class MyClass{ }
B:class MyClass{ }
C:abstract class MyClass{ }
D:final class MyClass { }
第18题 (分值:2分)
给定如下java代码,编译时会在()出现错误。
class Parent{
}
class Child extends Parent{
public static void main(String args[]){
Parent p1=new Child() ;//第一行
Parent p2=new Parent () ;//第二行
Child c1=new Child() ;//第三行
Child c2=new Parent () ;//第四行
}
}
A:第一行
B:第二行
C:第三行
D:第四行
第19题 (分值:2分)
给定如下java代码,以下()代码行编译会报错。
class MyClass{
void myMethod(final int p){
final int il;
final int i2=p;
i1=20;
i2=20;
}
}
A:final int il;
B:final int i2=p
C:il=20
D:i2=20;
第20题 (分值:2分)
关于被私有访问控制符protected修饰的成员变量,以下说法正确的是()
A:可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B:可以被两种类访问和引用:该类本身、该类的所有子类
C:只能被该类自身所访问和修改
D:只能被同一个包中的类访问
第21题 (分值:2分)
在下面程序的第6行补充上下列哪个方法,会导致在编译过程中发生错误?
1) class Super{
2) public float getNum(){
3) return 3.0f;
4) }
5) public class Sub extends Super{
6)
7) }
A:public float getNum(){return 4.0f;}
B:public void getNum(){}
C:public void getNum(double d){}
D:public double getNum(float d){return 4.0d;}
第22题 (分值:2分)
What will be printed when you execute(执行) the following code?
class X {
Y b = new Y();
X() {
("X");
}
}
class Y {
Y(){
("Y");
}
}
public class Z extends X {
Y y = new Y();
Z() {
("Z");
}
public static void main(String[] args) {
new Z();
}
}
Choices( )
A:Z
B:YZ
C:XYZ
D:YXYZ
第23题 (分值:2分)
下列代码的输出结果是
: ( )
class Parent {
void printMe() {
n("parent");
}
}
class Child extends Parent {
void printMe() {
n("child");
}
void printall() {
e();
e();
printMe();
}
}
public class Test_this {
发布评论