Java面向对象基础试题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、【必做题】

Ⅰ.选择题

1、列选项中哪个是类public class Test { }的默认构造方法___?(知识点:构造器)

A. Test();

B. Test(void);

C. public Test();

D. public Test(void);

E. public void Test();

2、给定下列代码的执行结果是____?(知识点:构造器)

public class A {

void A() {

System.out.println(“Class A”);

}

public static void main(String[] args) {

new A();

}

}

A. Class A

B. 在第2行处抛出异常

C. 编译错误

D. 在第6行处抛出异常

E. 代码执行后没有输出

3、给定以下代码:(知识点:构造器)

1. public class ConstOver {

2. public ConstOver (int x, int y, int z) {

3. }

4. }

下列选项中,哪些可以在ConsOver类中定义成重载的构造方法____:

A. ConstOver ( ) { }

B. int ConstOver ( ) { }

C. ConstOver (int z, int y, byte x) { }

D. Object ConstOver (int x, int y, int z) { }

E. void ConstOver (byte x, byte y, byte z) { }

4、以下代码的执行结果是_____?(知识点:static使用)

A. 编译失败

B. 编译成功,输出“0”

C. 编译成功,输出“1”

D. 编译成功,输出“2”

5、以下代码的执行结果是____?(知识点:类的成员及方法中的变量)

A. 代码编译成功,并且打印“s=”

B. 代码编译成功,并且打印“s=null”

C. 代码编译失败,因为s为被初始化

D.代码编译失败,因为s不可以被引用

E. 代码编译成功,但是运行时抛出NullPointerException

6、给定以下代码:(知识点:Java中回收机制)

12. void start() {

13. A a = new A();

14. B b = new B();

15. a.s(b);

16. b = null;

17. a = null;

18. System.out.println(“start completed”);

}

对于在第14行创建的对象b,系统什么时候会对它进行垃圾回收____?

A. 在第16行之后

B. 在第17行之后

C. 在第18行之后(当函数执行完成后)

D. 无法确定

E. 垃圾回收器不会回收该对象

Ⅱ. 程序分析题

1、在指定位置上填写正确的代码:(知识点:static使用)

public class CircleStatic

{

static double pi = 3.14;

int radius=100;

public static void main(String[ ] args)

{

//打印pi

radius

}

}

2、下面的程序有错误,请修正,并说明原因:(知识点:static使用)

public class CircleStatic {

static double pi=3.14;

int radius=100;

public static void main(String[] args) {

System.out.println(pi);

System.out.println(radius); //错误,非静态成员不能直接被访问。

Circle c=new Circle();

System.out.println(c.radius);

}

}

class Circle {

static double pi=3.14;

int radius;

public Circle(){ }

public Circle(int r) {

radius=r;

}

public static double getPi() {

return pi;

}

public void static showArea() {

System.out.println(pi*radius*radius);//静态方法不能直接访问非静态成员

}

}

3、分析如下程序,写出执行结果:(知识点:对象的创建和使用、静态块的使用)public class BlockDemo{

public static void main(String[] args){

Person p=new Person();

Person q=new Person();

p.sayHello();

q.sayHello();

}

}

class Person{

static int eyeNum;

String name;

int age;

double height;

{ //非静态块

System.out.println("non-static block");

name="zhangsan";

age=18;

height=1.75;

}

static//静态块

{

System.out.println("static block");

eyeNum=2;

}

public Person(){

System.out.println("aaaaaaaaaaaa");

}

public void sayHello(){

System.out.println("Hello, my name is "+name);

}

}

non-static block

static block

aaaaaaaaaaaa

non-static block

aaaaaaaaaaaa

Hello, my name is zhangsan

Hello, my name is zhangsan

相关文档
最新文档