Java面向对象基础试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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