Java编程基础知识点汇总习题集--答案 下载本文

C) 第13行错误,不能用类名引用类中的变量; D) 没有错误,输出1234;

48、对以下程序说法正确的有( )。

1) class Exp{ 2) int x;

3) static int y;

4) static void setX(int x) { this.x = x;} 5) int getx( ) { return x;} 6) static void run() {

7) System.out.print(getX()); 8) }

9) public static void main(String[] args){ 10) Exp.run();

11) Exp a = new Exp(); 12) a.setX(2);

13) System.out.print(a.getX()); 14) } 15) }

A) 第4行错误,静态方法不能使用非静态实例变量; B) 第7行错误,类方法不能调用实例方法;

C) 第10行错误,对象没有创建,其方法不能调用;

D) 第12行错误,静态方法不能用对象名.方法名方式来调用。 49、下面程序哪些编译错误是存在的( )。

1) class exp16{

2) double fun(int x,int y){ return x+y;}

3) double fun(int x,int y,int z){ return x*y-z;} 4) int fun(int x,int y){ return x-y;}

5) double fun(double x,double y){ return x/y;} 6) } 7) }

A) 第2行错误,返回值类型不配;

B) 第3行错误,fun(int,int)方式已存在; C) 第4行错误,fun(int,int)方式已存在;; D) 第5行错误,fun(int,int)方式已存在;;

50、关于Java源程序文件的代码构成形式方面,下述说法中是正确的( )。

A) 除了开头的包声明语句,包引用语句之外,Java程序代码中只能有类和接口,所有变量与

方法的定义或其它语句都不能放在类体或接口体之外;

B) java的类体中除了方法的定义之外,只能有为成员变量定义及初始化,不能有赋值、表达

式计算等操作性的语句。

C) 类体内还可定义类,也即java的类可互相嵌套,定义在其它类内部的类称内部类。 D) Java中的main方法是特殊方法,是Java程序的入口和出口,必须定义在所有类和接口之

外。

51、关于类中成员变量的作用范围,下述说法中正确的是( )。

A) 只有用public修饰的变量才能在所有方法中使用; B) 用private修饰的成员变量可以在main方法中直接使用; C) 类中所有成员变量在所有成员方法中有效;

资料

D) 用static修饰的成员变量只能在用static修饰的方法中使用。

52、方法体内定义的变量称局部变量,下述关于局部变量的说法中错误的是( )。

A) 局部变量仅在所定义的代码块内(花括号对内)有效; B) 局部变量不能加修饰词修饰; C) 局部变量不能与类中的成员变量同名; D) 局部变量未经赋值不能使用。

53、同一类中有两个以上方法同名称方法重载,Java语言规定( )。

A) 不允许重载;

B) 重载方法的参数表必须不同; C) 重载方法的返回值类型必须不同;

D) 重载方法的参数表和返回值类型必须都不同。

三、 改错

1、

public class ShowErrors{ public static void main(String args[]){ ShowErrors t = new ShowErrors(5); } } public class ShowErrors{ public static void main(String args[]){ ShowErrors t = new ShowErrors(); t.x(); }

2、

} 3、

4、

public class ShowErrors{ public void method1(){ Circle c; System.out.println(“what is radius”+c.getRadius()); c =new Circle(); } } public class ShowErrors{ public static void main(String args[]){ C c = new C(5.0); t.x(); System.out.println(c.value); } } class C{ int value =2; } public class C{ int p; public void setP(int p){ p=p; } }

5、

资料

6、

四、 阅读程序

public class Test{ private double code; public double getCode(){ return code; } Protected abstract void setCode(double code); } 1、 阅读下面的程序,分析代码是否能够编译通过.如果能编译通过.请列出运行的结果,否则

说明编译失败的原因。 (1) 代码一:

class A{

private int secret =5; } public class Test1{ public static void main(String args[]){ A a=new A();

System.out.println(a.secret++);

}

}

(2) 代码二:

public class Test2{

int x =50;

static int y=200; public static void method(){ System.out.println(x+y); } public static void main(String args[]){

Test2.method();

}

}

(3)代码三:

final class Animal{ public final void shout(){ //程序代码

} } class Dog extends Animal{ public void shout(){ //程序代码

} } public class Test02{

public static void main(String args[]){ Dog dog =new Dog(); } } 资料

(4)代码四

class Animal{ void shout(){ System.out.println(\动物叫!\); } } class Dog extends Animal{ void shout(){ super.shout(); System.out.println(\汪汪....\); } } public class Test03{ public static void main(String args[]){ Animal animal =new Dog(); animal.shout(); } } (5)代码五 interface Animal{ void breathe(); void run(); void eat(); } class Dog implements Animal{ public void breathe(){ System.out.println(\); } public void eat(){ System.out.println(\); } } public class Test04{ public static void main(String args[]){ Dog dog =new Dog(); dog.breathe(); dog.eat(); } } 2、下列程序的运行结果是: (1)

class StaticTest{ static int x=1; int y; StaticTest(){ y++; } public static void main(String args[]){ StaticTest st = new StaticTest(); System.out.println(\+x); System.out.println(\+st.y); st=new StaticTest(); System.out.println(\+st.y); } static{ x++; } }

资料