Java面向对象基础试题 下载本文

一、【必做题】

Ⅰ.选择题

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) {

System.out.println( _pi_ ); //打印pi CircleStatic c=new CircleStatic ();_ System.out.println(_c.radius__); //打印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{