JAVA期末复习资料1

更新时间:2023-11-27 04:18:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Java期末复习题

一、判断题

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

9、类的静态变量被该类的所有对象共享。 ( T ) 10、不管定义与否,任何类都有一个不带参数的构造方法。 ( F ) 11、一个类可以访问另一个类的私有成员。 ( F ) 12、构造方法没有返回值,因此在定义构造方法时,其返回值类型必须声明为void。 ( F ) 13、对于类变量,可以通过类名直接访问,也可以通过该类的对象访问。 ( T ) 14、构造方法的名字必须与类名相同。 ( T ) 15、一个类的私有变量可以在同一个包的不同类中使用。 ( F ) 16、实例变量不能在类方法中直接引用,而类变量可以在实例方法中直接引用。 ( T ) 17、抽象类可有构造方法,因此也能用new进行实例化。 ( F ) 18、一个类可继承多个父类,实现多个接口。 ( F ) 19、用final修饰的类不能被继承。 ( 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的访问权限是默认的,则m可以被同一个包中的其他类访问,也可以被其它包中A的子类访问。 ( F ) 30、所有的类都可以被继承。 ( F ) 31、java中是单继承,但一个类可以实现多个接口。 ( T ) 32、如果一个类中包含抽象方法,则这个类也必须定义为抽象类。 ( T ) 33、如果在子类中改写从父类继承的方法,则子类中定义的访问权限不能低于父类中该方法的访问权限。 ( T ) 34、一个接口中的所有方法都是抽象的。 ( T) 35、一个抽象的类不能直接用new命令创建对象。 ( T ) 36、一个子类中可以定义与父类中名字相同,而参数不同的方法,此时子类的方法会改写从

父类继承来的方法。 ( F )

//重写的条件是 子类定义的方法和父类的方法有相同的方法名,相同的参数列表,以及相同的返回值,显然问题不符合以上条件,所以错误

37、JFrame,JPanel,JApplet和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坐标系统中,X值从左向右增加。( T )

46、BorderLayout布局管理器把组件排列在北、南、东、西和中间区域。(T ) 47、边界布局管理器(BorderLayout)把容器分成5个区域,每个区域只能放一个组件。(T) 48、一个组件可以注册一个或多个事件监听器。 ( T ) 二、选择题

1、以public修饰的类如:public class fish{?} 则fish( A ) A)可被其它程序包中的类使用 B)仅能被本程序包中的类使用 C)不能被任意其它类使用 D)不能被其它类继承 2、下述哪个说法是不正确的?( A )

A) 局部变量在使用之前无需初始化,因为有该变量类型的默认值 B) 类成员变量由系统自动进行初始化,无需初始化 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) 一个java源程序经过编译后,得到的文件的扩展名一定是.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,下列语句的循环体共执行几次?( B ) while(y/x>3){ if(y%x>3) { x=x+1; } else{

y=y/x;

} }

A) 1次 B) 2次 C) 3次 D) 4次 8、下列说法中,不正确的是( D )

A、一个java源程序文件中,只能有一个public类。 B、一个java源程序文件中,只能有一个package语句。 C、一个java源程序文件中,可以有多个import语句。

D、一个java源程序文件中,只能有一个类中可以有main方法。 9、阅读下列代码段,选出该代码段的正确的文件名( D )。 class A{

void methodl(){

System.out.println(”methodl in class A”): } }

public class B void method2(){

System.out.println(”method2 in class B”): }

public static 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()的说法哪个正确?( C) A.方法main()只能放在公共类中

B.main()的头定义可以根据情况任意更改 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;} 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、方法的重载是指一个类中多个方法使用相同的名字,且参数相同。 C、方法的重载是指子类和父类中两个方法使用相同的名字,但参数不同。 D、方法的重载是指子类和父类中两个方法使用相同的名字,且参数相同。 15、下列关于类、包和源文件的说法中,错误的一项是( D )。 A、一个文件可以属于一个包 B、一个包可包含多个文件 C、一个类可以属于一个包 D、一个包只能含有一个类 16、下列关于作用域的说法中,正确的一个是( B)。 A、不同方法中声明的不同变量,可以互相访问

B、在不同方法中可以声明相同数据类型的同名局部变量 C、在同一个类中可以声明相同数据类型的同名类变量 D、在同一个程序块中可以声明相同数据类型的同名变量 17、下列描述中不正确的一项是( B )。

A、import语句告诉Java用户需要哪个包(package)中的类 B、所有的类必须实例化,才能调用它的数据成员和方法 C、package语句用于将源文件存入所指定的包中

D、System类不可能实例化,它的所有方法都是通过类变量来调用的 18、为了区分重载多态中同名的不同方法,要求( A )。

A、形式参数个数或者类型不同 B、返回值类型不同 C、调用时用类名或对象名做前缀 D、形式参数名称不同 19、下列说法中,正确的一个是( A )。

A、类成员变量在使用之前可以不初始化 B、局部变量在使用之前可以不初始化 C、参数变量在使用之前必须初始化 D、所有的变量在使用之前必须初始化 20、下面哪一项的方法调用能填入程序中的横线处?( C ) class Ex7 {

static void method1() {

System.out.println(\ } }

class Ex8 {

void method2() {

System.out.println(\ } }

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、Ex7.method1( ); C、Ex7.method1( ); D、e2.Method1( ); 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类的一个无形式参数无返回值的方法method书写方法头,使得用类名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 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重载的两个构造方法是AC 。 public class ConstOver {

本文来源:https://www.bwwdw.com/article/ejqt.html

Top