JAVA复习题(5)

2019-02-16 14:31

21

48. 下面程序的功能是通过调用方法max()求给定的二个整数的最大值, 请将其补充完整。(max(a1,a2) int)

public class Class1 {

public static void main( String args[] ) {

int a1=1234,a2=456; int MaxValue;

MaxValue=____________;

System.out.println(\二个数的最大值:\ }

public static ______ max(int x,int y) { int max_value; max_value =x>y?x:y; return max_value; } }

49. 下面是一个类的定义,请将其补充完整。(class static)

______ Bank { String s;

_____ int a=666;

Bank(String s1) { s=s1; } static int geta( ) { return a; } }

50. 如果子类中的某个变量的变量名与它的父类中的某个变量完全一样,则称子类中的这个变量________了父类的同名变量。(隐藏)

51. 属性的隐藏是指子类重新定义从父类继承来的__________。(同名变量或属性)

52. 如果子类中的某个方法的名字、返回值类型和________与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。(参数列表) 53. Java 仅支持类间的____重继承。(单重)

54. 抽象方法只有方法头,没有________。 (方法体)

55. Java 语言的接口是特殊的类,其中包含______常量和_______方法。(static(静态) ; abstract(抽象))

56. 接口中所有属性均为_________、_________和________的。 (public、static、final)

57. 如果接口中定义了一个方法methodA(),一个属性attA,那么一个类ClassA要实现这个接口的话,就必须实现其中的_______方法。(methodA())

58.一个类如果实现一个接口,那么它就必须实现接口中定义的所有方法,否则该类就必须定义成________的。(抽象的)

59. 如果子类中的某个方法的名字、__________和参数列表与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。(返回值类型)

60. Java 仅支持类间的单重继承,接口可以弥补这个缺陷,支持_____重继承(多重)

21

22

61. 在方法头用abstract修饰符进行修饰的方法叫做________方法。(抽象) 62. Java语言中用于表示类间继承的关键字是___________。(extends) 63. 接口中所有方法均为________和________的。 (public、abstract) 64. Java语言中,表示一个类不能再被继承的关键字是________。(final)

65. Java语言中,表示一个类A继承自父类B,并实现接口C的语句是_________________。 (class A extends B implements C)。

66. 如果子类中的方法compute()覆盖了父类中的方法compute(),假设父类的compute()方法头部有可见性修饰符public,则methodS()的可见性修饰符必须是__________。(public) 67.下面是一个类的定义,完成程序填空。(Youwrite this.x=x;)

public class Youwrite { int x;

_______( ) {x=0;} Youwrite ( int x) { _____; } }

68.下面是定义一个接口ITF的程序,完成程序填空。 (interface abstract )

public _______ ITF {

public static final double PI=Math.PI;

public ______ double area(double a, double b); }

69.下面是定义一个接口A的程序,完成程序填空。(final ”;” )

public interface A {

public static _______ double PI=3.14159;

public abstract double area(double a, double b)_____ }

70.要调用java.io.InputStream的read或close方法,必须处理异常。该异常具体类型是 ,它的直接父类是 。(java.io.IOException; java.lang.Exception) 四、简答题

1. 请判断下面的字符序列是否是合法的Java标识符。如果认为不是合法的,请说明原因。 (1)public 不是(2)Tf123abc 不是 (3) $400是(4)redHat 是 (5) Line-Number不是 (6) 400Arcs不是 (7)_400Arcs 是(8)_debug 是(9)a@abc.com不是(10)\不是

(11)keyword是(12)goto不是(13)null不是(14)true不是(15)red hat不是(16)*pointer不是(17)猫 是(18)old-timer不是(19)double不是(20)Double是 2. 请写出下面Java直接量的数据类型。

(1)0.0f float(2)0.125d double (3) 'a' char (4) \字符串 (5) true boolean (6)123 int (7)12L long(8)null 引用数据类型 (9)0.1 double(10)0x123L long

22

23

3. 阅读程序,并写出程序运行的结果

public class test { }

结果:199

考点是方法调用(参数传递)

4. 阅读程序,如果程序可以正常运行,请写出程序运行的结果,否则请写出含有错误的语句的行号,并修正含有错误的语句。

1. abstract class J_Class 2. {

3. int mb_method() 4. {

5. return 5; 6. } 7. }

8. class test 9. {

10. public static void main(String args[]) 11. {

12. J_Class a=new J_Class(); 13. J_Class b=new J_Class();

14. System.out.println(a.mb_method()+b.mb_method()); 15. } 16.}

答:程序有错,因为J_Class是抽象的,无法对其进行实例化。可以将第1行换成“class J_Class”,去掉abstract。

5. 指出下面程序会出现编译错误的行数及其原因。

1. public class test 2. {

3. private class inner 4. { 5. 6. 7.

static String m_name=new String(\public void mb_method() {

23

public static void main(String args[]) { }

static void mb_operate(int i) { }

i+=100; int i=99; mb_operate(i);

System.out.println(i+100);

24

8. 9. 10. }

}

System.out.println(m_name);

11. public static void main(String args[]) 12. { 13. 14. 15. } 16.}

答:程序在第5行有错,原因是static的误用。非静态的内部类不能有静态成员。 6. 阅读程序,并写出程序运行的结果

class test { }

结果:12

7. 请列举出种常见的可能产生异常的情况。

答:数组下标越界、字符串在取字符时下标越界、除数为0、类型转换不合法、算术运算结果溢出、运行一个不含方法main的Java应用程序、通过空引用来访问对象的成员数据或方法、人为抛出异常、访问不存在的文件、网络连接不成功。 8. 写出下列程序完成的功能。 (1)

import java.io.* ; public class Reverse

{ public static void main(String args[ ]) { int i , n =10 ;

int a[ ] = new int[10]; for ( i = 0 ; i < n ; i ++ ) try {

BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); a[i] = Integer.parseInt(br.readLine( )); } catch ( IOException e ) { } ; for ( i = n-1 ; i >= 0 ; i ―― )

24

public static void main(String ars[]) { }

static void mb_swap(String s0,String s1) { }

String t=s0; s0=s1; s1=t;

String[] s={\mb_swap(s[0],s[1]);

System.out.println(s[0]+s[1]); inner a=new test().new inner(); a.mb_method();

25

System.out.print(a[i]+\ System.out.println( ); } }

从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。 (2)

import java.awt.*; public class abc

{ public static void main(String args[]) { new FrameOut(); } }

class FrameOut extends Frame // Frame为系统定 { Button btn; // 义的窗框类 FrameOut( )

{ super(\按钮\

btn = new Button(\按下我\ setLayout(new FlowLayout( )); add(btn);

setSize(300,200); show( ); } }

创建一个标题为\按钮\的窗框,窗框中显示有\按下我\字样的按钮。 9. 现有类说明如下,请回答问题:

public class A {

String str1=\ String str2=\ public String toString( ) { return str1+str2; } }

public class B extends A {

String str1=\,Bill.\ public String toString( ) { return super.str1+str1; } }

问题:

(1) 类A和类B是什么关系?(继承关系)

(2) 类A和类B都定义了str1属性和方法toString( ), 这种现象分别称为什么?(属性的隐藏;方法的覆盖)

(3) 若a是类A的对象,则a.toString( )的返回值是什么? (Hello!

How are you?)

(4) 若b是类B的对象,则b.toString( )的返回值是什么?(Hello,Bill.)

25


JAVA复习题(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电容式传感器的位移特性实验

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: