JAVA期末复习资料.pdf

上传人:hg158****2095 文档编号:73684978 上传时间:2023-02-21 格式:PDF 页数:29 大小:945.90KB
返回 下载 相关 举报
JAVA期末复习资料.pdf_第1页
第1页 / 共29页
JAVA期末复习资料.pdf_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《JAVA期末复习资料.pdf》由会员分享,可在线阅读,更多相关《JAVA期末复习资料.pdf(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、一、判断题 1、在 main 方法中可以直接调用非静态的方法。(F )2、方法重载就是一个类中有多个同名但有不同形参和方法体的方法。(T )3、一个 Java 源程序可有多个类,但只仅有一个 public 类,而且源程序名与 public 类名相同。(T )4、Java 的源代码中定义几个类,编译结果就生成几个以.class 为后缀的字节码文件。(T )5、方法中的形参可以和方法所属类的属性同名。(T )6、Java 类中不能存在同名的两个成员函数。(F )7、可以用 new 来创建一个类的实例,即“对象”。(T )8、Java 中类的构造函数只能有一个。(F )9、类的静态变量被该类的所有对

2、象共享。(T)10、不管定义与否,任何类都有一个不带参数的构造方法。(F )11、一个类可以访问另一个类的私有成员。(F )12、构造方法没有返回值,因此在定义构造方法时,其返回值类型必须声明为 void。(F )13、对于类变量,可以通过类名直接访问,也可以通过该类的对象访问。(T )14、构造方法的名字必须与类名相同。(T )15、一个类的私有变量可以在同一个包的不同类中使用。(F )16、实例变量不能在类方法中直接引用,而类变量可以在实例方法中直接引用。(T )17、抽象类可有构造方法,因此也能用 new 进行实例化。(F )18、一个类可继承多个父类,实现多个接口。(F )19、用 f

3、inal 修饰的类不能被继承。(T)20、接口中的成员变量全部为常量,方法为抽象方法。(T)21、接口无构造器,不能有实例,也不能定义常量。(F)22、java 的类不允许嵌套定义。(F )23、在接口中所有的方法都是抽象方法,所以必须在方法定义之前加上 abstract 关键字。(F)24、抽象类中不能包含 final 修饰的方法。(T)25、子类可以继承父类所有的成员变量及成员函数。(F)26、接口可以被另一个接口继承。(T )27、接口中只能定义符号常量和抽象方法。(T)28、final 类不能派生子类,final 方法不能被覆盖。(T)29、如果类 A 的一个方法 m 的访问权限是默认

4、的,则 m 可以被同一个包中的其他类访问,也可以被其它包中 A 的子类访问。(F)30、所有的类都可以被继承。(F)31、java 中是单继承,但一个类可以实现多个接口。(T)32、如果一个类中包含抽象方法,则这个类也必须定义为抽象类。(T)33、如果在子类中改写从父类继承的方法,则子类中定义的访问权限不能低于父类中该方法的访问权限。(T)34、一个接口中的所有方法都是抽象的。(T)35、一个抽象的类不能直接用 new 命令创建对象。(T)36、一个子类中可以定义与父类中名字相同,而参数不同的方法,此时子类的方法会改写从父类继承来的方法。(F)37、JFrame,JPanel,JApplet

5、和 JButton 四种组件都属于容器组件。(F )38、BorderLayout 是面板的缺省布局管理器。(F )39、BorderLayout 最多可以使用 5 个组件。(T)40、一个面板(JPanel)不能被加入另一个面板(JPanel)中。(F )41、菜单需要一个 JMenuBar 对象,以使他们能被添加到 JFrame。(T )42、标签(JLabel)可以在屏幕上显示一个字符或一幅图片。(T)43、BorderLayout 是容器 javax.swing.JFrame 默认的布局管理器。(T )44、JTextArea 可以用来接收多行文本的输入。(T )45、在 Java 坐

6、标系统中,X 值从左向右增加。(T )46、BorderLayout 布局管理器把组件排列在北、南、东、西和中间区域。(T)47、边界布局管理器(BorderLayout)把容器分成 5 个区域,每个区域只能放一个组件。(T)48、一个组件可以注册一个或多个事件监听器。(T)二、选择题 1、以 public 修饰的类如:public class fish 则 fish(A )A)可被其它程序包中的类使用 B)仅能被本程序包中的类使用 C)不能被任意其它类使用 D)不能被其它类继承 2、下述哪个说法是不正确的?(C )A)局部变量在使用之前无需初始化,因为有该变量类型的默认值 B)类成员变量由系

7、统自动进行初始化,无需初始化 C)参数的作用域就是所在的方法 D)for 语句中定义的变量,当 for 语句执行完时,该变量就消亡了 3、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D )A、abstract B、private C、protected D、不使用保留字 4、Java 源文件和编译后的文件扩展名分别为(B )A).class 和 .java B).java 和.class C).class 和 .class D).java 和 .java 5、下列说法中,不正确的是(A )A)一个 java 源程序编译通过后,得到的结果文件数也只有一个。B)一个 jav

8、a 源程序经过编译后,得到的文件的扩展名一定是.class。C)一个 java 源程序只能有一个 public class 类定义,且源文件的名字与 public class的类名相同,扩展名必须是.java。D)一个 java 源程序可以包含多个类。6、System.out.print(“1”+2)打印到屏幕的结果是(B )A)3 B)12 C)1+2 D)4 7、假设 int x=4,y=100,下列语句的循环体共执行几次?(C )while(y/x3)if(y%x3)x=x+1;else y=y/x;A)1 次 B)2 次 C)3 次 D)4 次 8、下列说法中,不正确的是(B )A、一

9、个 java 源程序文件中,只能有一个 public 类。B、一个 java 源程序文件中,只能有一个 package 语句。C、一个 java 源程序文件中,可以有多个 import 语句。D、一个 java 源程序文件中,只能有一个类中可以有 main 方法。9、阅读下列代码段,选出该代码段的正确的文件名(C )。class A void methodl()Systemoutprintln(”methodl in class A”):public class B void method2()System.out.println(”method2 in class B”):public st

10、atic void main(String args)System.out.println(”main()in class B”):A、A.java B、A.class C、B.class D、B.java 10、编译下面源程序会得到哪些文件?(C)class A1 class A2 Public class B Public static void main(String args)A、只有 B.class 文件 B、只有 A1.Class 和 A2.class 文件 C、有 A1.class、A2.Class 和 B.class 文件 D、编泽不成功 11、关于方法 main()的说法哪个

11、正确?(C)A方法 main()只能放在公共类中 Bmain()的头定义可以根据情况任意更改 C一个类中可以没有 main()方法 D所有对象的创建都必须放在 main()方法中 12、下列关于类、包和源文件的描述中,不正确的一项是(D)。A、一个包可以包含多个类 B、一个源文件中,可能有一个公共类 C、属于同一个包的类在默认情况下可以相互访问 D、系统不会为源文件创建默认的包 13、下述哪一组方法,是一个类中方法重载的正确写法?(A )A、int addValue(int a,int b)return a+b;float addValue(float a,float b)return a+b

12、;B、int addValue(int a,int b)value=a+b;float addValue(int a,int b)return(float)(a+b);C、int addValue(int a,int b)return a+1;int addValue(int a,int b)return a+b;D、int addValue(int a,int b)return a+b;int addValue(int x,int y)return x+y;14、关于方法的重载,下列说法哪一个是正确的?(A)A、方法的重载是指一个类中多个方法使用相同的名字,但参数不同。B、方法的重载是指一个

13、类中多个方法使用相同的名字,且参数相同。C、方法的重载是指子类和父类中两个方法使用相同的名字,但参数不同。D、方法的重载是指子类和父类中两个方法使用相同的名字,且参数相同。15、下列关于类、包和源文件的说法中,错误的一项是(D)。A、一个文件可以属于一个包 B、一个包可包含多个文件 C、一个类可以属于一个包 D、一个包只能含有一个类 16、下列关于作用域的说法中,正确的一个是(B )。A、不同方法中声明的不同变量,可以互相访问 B、在不同方法中可以声明相同数据类型的同名局部变量 C、在同一个类中可以声明相同数据类型的同名类变量 D、在同一个程序块中可以声明相同数据类型的同名变量 17、下列描述

14、中不正确的一项是(B )。A、import 语句告诉 Java 用户需要哪个包(package)中的类 B、所有的类必须实例化,才能调用它的数据成员和方法 C、package 语句用于将源文件存入所指定的包中 D、System 类不可能实例化,它的所有方法都是通过类变量来调用的 18、为了区分重载多态中同名的不同方法,要求(A )。A、形式参数个数或者类型不同 B、返回值类型不同 C、调用时用类名或对象名做前缀 D、形式参数名称不同 19、下列说法中,正确的一个是(A )。A、类成员变量在使用之前可以不初始化 B、局部变量在使用之前可以不初始化 C、参数变量在使用之前必须初始化 D、所有的变量

15、在使用之前必须初始化 20、下面哪一项的方法调用能填入程序中的横线处?(C )class Ex7 static void method1()System.out.println(in Ex7);class Ex8 void method2()System.out.println(in Ex8);public class Ex9 public static void main(String args)Ex9 e1=new Ex9();e1.method3();public void method3()Ex7 e2=new Ex7();Ex8 e3=new Ex8();A、method1();B、

16、Ex7.method1();C、Ex7.method1();D、e2Method1();method2():Ex8.method2();e3.method2();Ex8.method2();21、若编译和运行下列代码,出现的结果将是 (C )class MyClass int i=0;public int myMethod(int x)return i+x;public static void main(String args)System.out.println(myMethod(10);A、0 B、10 C、编译出错 D、以上答案都不对 22、为 AB 类的一个无形式参数无返回值的方法 m

17、ethod 书写方法头,使得用类名 AB 作为前缀就可以调用它,该方法头的形式为(A )A)static void method()B)public void method()C)final void method()D)abstract void method()23、下面程序中类 ClassDemo 中定义了一个静态变量 sum,分析程序段的输出结果。(C)class ClassDemo public static int sum=1;public ClassDemo()sum=sum+5;class ClassDemoTest public static void main(String

18、 args)ClassDemo demo1=new ClassDemo();ClassDemo demo2=new ClassDemo();System.out.println(demo1.sum);A)0 B)6 C)11 D)2 24、给出如下的程序,A-E 选项中与构造方法 ConstOver 重载的两个构造方法是:A,C 。public class ConstOver public ConstOver(int x,int y,int z)A.ConstOver()B.Protected int ConstOver()C.Private ConstOver(int z,int y,byt

19、e x)D.public Object ConstOver(int x,int y,int z)E.public void ConstOver(byte x,byte y,byte z)25、对象使用时,下面描述错误的是(B)(A)通过“.”运算符调用成员变量和方法 (B)通过成员变量的访问权限设定限制自身对这些变量方法的调用 (C)将一个对象申明为类的成员时,必须在使用前为其分配内存 (D)在方法中使用对象作为参数时,传递的是对象的地址 26、给出如下代码:class Test private int m;public static void fun()/some code.如何使成员变量

20、m 被函数 fun()直接访问(C)(A)将 private int m 改为 protected int m(B)将 private int m 改为 public int m(C)将 private int m 改为 static int m(D)将 private int m 改为 int m 27、MAX_LENGTH 是 int 型 public 成员变量,变量值保持为常量 100,用简短语句定义这个变量。(C)(A)public int MAX_LENGTH=100;(B)final int MAX_LENGTH=100;(C)final public int MAX_LENGTH

21、=100;(D)public final int MAX_LENGTH=100.28、构造方法何时被调用(B )(A)类定义时 (B)创建对象时 (C)调用对象方法时 (D)使用对象的变量时 29、指出下列程序运行的结果(B)public class Example String str=new String(good);charch=a,b,c;public static void main(String args)Example ex=new Example();ex.change(ex.str,ex.ch);System.out.print(ex.str+and);System.out.

22、print(ex.ch);public void change(String str,char ch)str=test ok;ch0=g;(A)good and abc (B)good and gbc (C)test ok and abc (D)test ok and gbc 30、给出下面代码段 1)public class Test 2)int m,n;3)public Test()4)public Test(int a)m=a;5)public static void main(String arg)6)Test t1,t2;7)int j,k;8)j=0;k=0;9)t1=new Te

23、st();10)t2=new Test(j,k);11)12)哪行将引起一个编译时错误?(D )(A)line 3 (B)line 5 (C)line 6 (D)line 10 31、函数重载是指(A )(A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 (B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 (C)两个以上的函数名字不同,但形参的个数或类型相同 (D)两个以上的函数取相同的函数名,并且函数的返回类型相同 32、对于下列代码:public class Parent public int addValue(int a,int b)int s;s=

24、a+b;return s;class Child extends Parent 下述哪些方法可以加入类 Child (D )(A)int addValue(int a,int b)/do something.(B)public void addValue(int a,int b)/do something.(C)public int addValue(int a)/do something.(D)public int addValue(int a,int b)throws MyException/do something.33、对于下列代码:1)class Person 2)public vo

25、id printValue(int i,int j)/.3)public void printValue(int i)/.4)5)public class Teacher extends Person 6)public void printValue()/.7)public void printValue(int i)/.8)public static void main(String args)9)Person t=new Teacher();10)t.printValue(10);11)第 10 行语句将调用哪行语句?(D )(A)line 2 (B)line 3 (C)line 6 (D

26、)line 7 34、如果在一个类中定义了如下两个方法,则选项中正确的说法是(A)void out()System.out.println();void out(int x)System.out.println(x);A、这种定义是正确的,是方法的重载。B、这种定义是正确的,是方法的改写。C、此种定义是错误的,一个类中不能定义两个名字相同的方法。D、此种定义是错误的,第二个方法应该和第一个方法的参数相同。35、下面哪一项是 Java 实现动态多态性的具体手段(A )A)重载;B)覆盖(重写)C)接口 D)抽象类 36、下列说法哪个是正确的?(C )A、子类不能定义和父类同名同参数的方法 B、子

27、类只能继承父类的方法,而不能重载 C、重载就是一个类中有多个同名但有不同形参的方法 D、子类只能覆盖父类的方法,而不能重载 37、下列哪个类声明是正确的?(D )A)abstract final class HI B)abstract private move()C)protected private number;D)public abstract class Car 38、下面的是关于类及其修饰符的一些描述,不正确的是(B )。A、abstract 类只能用来派生子类,不能用来创建 abstract 类的对象 B、abstract 不能与 final 同时修饰一个类 C、final 类不但

28、可以用来派生子类,也可以用来创建 final 类的对象 D、abstract 方法必须在 abstract 类中声明,但 abstract 类定义中可以没有 abstract 方法 39、下列输出的结果是(A )。class AA void Show()System.out.println(“类 AA”);class BB extends AA void Show()Systemoutprintln(“类 BB”);public class ex7 public static void main(String args)AA a=new AA();BB b=new BB();a.Show();

29、b.Show();A、类 AA B、类 BB C、类 BB D、类 AA 类 BB 类 AA 类 BB 类 AA 40、下列关于接口的说法不正确的是 (C )A、接口所有的方法都是抽象的 B、接口所有的方法一定都是 public 属性的 C、用于定义接口的关键字是 implements D、接口是 JAVA 中的特殊类,包含静态变量和抽象方法 41、下列说法中,哪一个是正确的?(C )A、抽象类中定义的方法一定是抽象的。B、抽象类中一定存在抽象的方法。C、抽象类中可以没有抽象方法。D、抽象类的子类一定要实现抽象类中的抽象方法。42、假定有程序段:(D )class SupperClass pu

30、blic int addValue(int a,int b)return a+b;class SubClass extends SuperClass int value;/此处插入代码 下述哪个方法可以插入到类 SubClass 中而不会出现编译错误?A、int addValue(int a,int b)return a+b+1;B、public long addValue(int a,int b)value=a+b+1;C、protected int addValue(int a,int b)return a+b+1;D、public int addValue(int a,int b)ret

31、urn a+b+1;43、若编译和运行下列代码,其结果将是 (C )class Circle double radius=1;public Circle(double r)radius=r;public double area()return 3.14*radius*radius;public class MyTest public static void main(String args)Circle c1=new Circle();System.out.println(c1.area();A、3.14 B、0 C、编译出错 D、以上答案都不对 44、下列说法中不正确的是 (C )A、如果一

32、个方法中定义的变量名与该方法所在类的成员变量同名,则在该方法中无法访问同名的类成员变量。B、在 java 接口中定义的方法一定是抽象方法。C、java 接口中不能定义变量。D、java 接口没有构造方法。45、有程序如下 class SuperClass private int i=10;void printI()System.out.println(i);class SubClass extends SuperClass int i=20;public void printA()super.printI();class Test public static void main(String

33、args)SubClass c1=new SubClass();c1.printA();编译并运行程序,其结果将是 (A )A、10 B、20 C、编译出错 D、0 46、用 abstract 定义的类(D )A)可以被实例化 B)不能派生子类 C)不能被继承 D)只能被继承 47、如果任何包中的子类都能访问父类中的成员,那么应使用哪个限定词(C)(A)public (B)private (C)protected (D)default 48、下面的代码合法的是:(B )A)public abstract method();B)public abstract void method();C)pu

34、blic abstract void method();D)public void method()implements abstract;49、以下是接口 I 的定义:interface I void setValue(int val);int getValue();以下哪个代码能通过编译?(A )A)class A extends I int value;void setValue(int val)value=val;int getValue()return value;B)class B implements I int value;void setValue(int val)value

35、=val;C)interface C extends I void increment();D)interface D implements I void increment();50、下列关于接口和抽象类的说法不正确的是?(A )A)接口也有构造方法 B)实现接口时,需对接口中的所有方法都要实现 C)抽象类也有构造方法 D)抽象类可以派生出子类 51、对于下列代码:public class SupperClass public int sum(int a,int b)return a+b;class SubClass extends SupperClass 下述哪个方法可以加入类 SubCl

36、ass?(D)A)int sum(int a,int b)return a+b;B)public void sum(int a,int b)return;C)public float sum(int a,int b)return a+b;D)public int sum(int a,int b)return a+b;52、对于下列代码:public class Parent public int addValue(int a,int b)int s;s=a+b;return s;class Child extends Parent 下述哪些方法可以加入类 Child?(D )A)int add

37、Value(int a,int b)/do something.B)public void addValue(int a,int b)/do something.C)public int addValue(int a)/do something.D)public int addValue(int a,int b)/do something.53、下列说法中,错误的一项是(C)。A、内部类是被定义于另一个类中的类 B、使用内部类实现监听器,在编程时比较容易实现 C、内部类对象可以访问外部类的成员方法和变量,包括私有成员 D、由于内部类定义于另一个类,因此不适用于 AWT 的事件处理机制 54、下

38、列说法哪个是不正确的?(B )A、一个组件可以注册多个事件监听器 B、一个监听器只能监听一个组件 C、一个组件可以引发多种事件 D、一个监听器可以监听处理多种事件 55、下面说法错误的是(B )A)单击 JCheckBox(复选框)产生 ItemEvent 事件,并由 ItemListener 处理。B)处理 JButton 和 JTextField 事件监听器接口都是 ActionListener。C)一个面板(JPanel)可以加入到另一个面板(JPanel)中。D)在 BorderLayout 中,添加到 NORTH 区的两个按钮将并排显示。56、下列哪一个方法是自动调整窗口的大小 (C

39、 )A、setSize()B、setDefaultClose()C、pack()D、setVisible()三、程序阅读题 1、阅读下面的程序:成功,结果:6 class test public static void main(String args)int i=1;int All=0;for(;i=10;i+)if(i%6=0)break;if(i%2=0)i=i+2;continue;All=All+i;System.out.println(All);上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?2、写出下列程序代码的运行结果:Hello

40、public class Example Yava String str=new String(Hello);char ch=J,a,v,a;public static void main(String args)Example ex=new Example();ex.change(ex.str,ex.ch);System.out.println(ex.str);System.out.println(new String(ex.ch);public void change(String str,char ch)str=World;ch0=Y;3、仔细阅读下面的程序代码,编译和运行后,请写出该程

41、序的输出结果。class Game Game constructor Game(int i)BoardGame constructor System.out.println(Game constructor);Chess constructor class BoardGame extends Game BoardGame(int i)super(i);System.out.println(BoardGame constructor);public class Chess extends BoardGame Chess()super(11);System.out.println(Chess co

42、nstructor);public static void main(String args)Chess x=new Chess();4、仔细阅读下面的程序代码,编译和运行后,请写出该程序的输出结果。import java.util.*;Wind playing class Instrument protected void play()System.out.println(Instrument playing);static void tune(Instrument i)i.play();/Wind object are instruments/because then have the s

43、ame interface:class Wind extends Instrument protected void play()System.out.println(Wind playing);public static void main(String args)Wind flute=new Wind();Instrument.tune(flute);5、仔细阅读下面的程序代码,编译和运行后,请写出该程序的输出结果。interface Product This Product is made by My Corp static final String MAKER=My Corp;It c

44、ost$5 static final String PHONE=7963628;To order from My Corp call 7963628.public int getPrice(int id);Each item costs$5 class Shoe implements Product public int getPrice(int id)if(id=1)return 5;else return 10;public String getMaker()return MAKER;public class Store static Shoe hightop;public static

45、void init()hightop=new Shoe();public static void main(String args)init();getInfo(hightop);orderInfo(hightop);public static void getInfo(Shoe item)System.out.println(This Product is made by +item.MAKER);System.out.println(It cost$+item.getPrice(1);public static void orderInfo(Product item)System.out.

46、println(To order from +item.MAKER+call +item.PHONE+.);System.out.println(Each item costs$+item.getPrice(1);6、仔细阅读下面的程序代码,编译和运行后,请写出该程序的输出结果。class Father 19 String name=Father;19 int age=45;Father int getAge()return age;String getName()return name;void setAge(int a)age=a;class Child extends Father St

47、ring name=Child;int age=18;int getAge()return age+1;class Test2 public static void main(String args)Father p=new Child();System.out.println(p.getAge();p.setAge(30);System.out.println(p.getAge();System.out.println(p.getName();7、阅读下面的程序:错,9)Type 改成静态的才行,不然 public class test 下面的静态方法里不能调用 Type 1)2)3)pub

48、lic static void main(String args)4)5)Bird.Fly(3);6)7)8)class Bird 9)int Type=2;10)private static void Fly(int an_Type)11)Type=an_Type;12)System.out.println(Flying.+Type);13)14)上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?8、阅读下面程序:hi!class Person I am Jack public Person()How do you do?System.out.pr

49、intln(hi!);改后 hi!public Person(String s)I am this();How do you do?System.out.println(I am+s);public class Who extends Person public Who()this(I am Tony);public Who(String s)super(s);System.out.println(How do you do?);public static void main(String args)Who w=new Who(Jack);/如果换成 Who w=new Who();结果是?9

50、、阅读下面的程序:10020 class ValHold public int i=10;public class ObParm public static void main(String argv)ObParm o=new ObParm();o.amethod();public void amethod()int i=99;ValHold v=new ValHold();v.i=30;another(v,i);System.out.print(v.i);public void another(ValHold v,int i)i=0;v.i=20;ValHold vh=new ValHold

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁