JAVA期末复习题.doc_第1页
JAVA期末复习题.doc_第2页
JAVA期末复习题.doc_第3页
JAVA期末复习题.doc_第4页
JAVA期末复习题.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java基础部分面向对象选择题1、阅读下列程序: public class Test public static void main (Stringargs) String foo = args1;String bar = args2;String baz = args3;System.out.printIn(“baz = ” + baz);输出结果是:baz = 2给出的四个命令参数中,哪一个可以得出正确的输出结果( )。A. Java Test 2222B. Java Test 1 2 3 2C. Java Test 4 2 2 3D. Java Test 43 21 22、分析如下所示的Java代码,其中this关键字的意思是( )。public class Test private String name; public String getName() return name; public void setName(String name) = name; /this关键字所在的行 A.name属性B.Test类的内部指代自身的引用C.Test类的对象引用Test类的其他对象D.指所在的方法3、在Java中,下面对于构造函数的描述正确的是( )。A.类必须显式定义构造函数B.构造函数的返回类型是voidC.构造函数和类有相同的名称,并且不能带任何参数D.一个类可以定义多个构造函数4、下列选项中关于Java中封装的说法错误的是( )。A.封装就是将属性私有化,提供公有的方法访问私有属性B.属性的访问方法包括setter方法和getter方法C.setter方法用于赋值、getter方法用于取值D.类的属性必须进行封装,否则无法通过编译5、下列选项中关于Java中super关键字的说法错误的是( )。A. super关键字是在子类对象内部指代其父类对象的引用 B. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类 C. 子类可以通过super关键字调用父类的方法 D. 子类可以通过super关键字调用父类的属性6、构造函数何时被调用( )A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时7、给定如下一个Java源文件Child.java,编译并运行,以下结果正确的是( )。class Parent1 Parent1(String s) System.out.println(s); class Parent2 extends Parent1 Parent2() System.out.println(parent2); public class Child extends Parent2 public static void main(String args) Child child = new Child(); A. 编译错误:没有找到构造器Child() B. 编译错误:没有找到构造器Parent1() C. 正确运行,没有输出值 D. 正确运行,输出结果为:parent9、阅读下列程序class BaseClassprivate float x= 1.0f;protected void setVar (float f) x = f;class SubClass extends BaseClass private float x = 2.0f;/代码插入行以下哪个选项是对父类函数正确的覆盖? ( )A. Void setVar(float f) x = f;B. Public void setVar(int f) x = f;C. Public void setVar(float f) x = f; D. Public double setVar(float f) x = f;10、方法的重载必须满足的条件是( )A、参数的个数不同,或者是参数的类型不同B、参数的顺序不同C、方法的名字不同D、返回类型不同12、看下面一段程序:class Aclass void go() System.out.println(Aclass); public class Bclass extends Aclass void go System.out.println(Bclass); public static void main(String args) Aclass a=new Aclass(); Aclass a1=new Bclass(); a.go(); a1.go(); 以上程序运行结果是( )A、Aclass B、BclassAclass Bclass C、Aclass D、Bclass Bclass Aclass13、设有下面两个赋值语句: a = Integer.parseInt(“1024”); b = Integer.valueOf(“1024”).intValue(); 下述说法正确的是( )。A、a是整数类型变量,b是整数类对象。 B、a是整数类对象,b是整数类型变量。 C、a和b都是整数类对象并且它们的值相等。 D、a和b都是整数类型变量并且它们的值相等。15、类的设计要求它的某个成员变量不能被外部类直接访问,应该使用下面的哪些修饰符获得需要的访问控制( )?A、public B、default C、protected D、private16、编译Java Application 源程序文件产生的字节码文件的扩展名为( )。A、java B、class C、html D、exe17、关于方法main()的说法哪个正确( ) A、方法main()只能放在公共类中B、main()的头定义可以根据情况任意更改C、一个类中可以没有main()方法D、所有对象的创建都必须放在main()方法中18、运行下列程序的结果是哪个( )abstract class MineBase abstract void amethod(); static int i; public class Mine extends MineBasepublic static void main(String args)int ar = new int5;for(i = 0; i ar.length; i+)System.out.println(ari);A、打印5个0。B、编译出错,数组ar必须初始化。C、编译出错, Mine应声明为abstract。D、出现IndexOutOfBoundes的例外。19、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )A、static void method( ) B、public void method( ) C、final void method( ) D、abstract void method( )20设有下面两个类的定义:class Person long id; /身份证号String name; / 姓名 class Student extends Person int score; / 入学总分int getScore() return score; 问:类Person和类Student的关系是( )A、包含关系 B、继承关系 C、关联关系 D、无关系,上述类定义有语法错误21下列描述正确的是( )A、多态性就是指子类的某个方法被其父类重写时,可以各自产生自己的功能行为。B、多态性就是指子类的某个方法被其父类重写时,不能各自产生自己的功能行为。C、多态性就是指父类的某个方法被其子类重写时,可以各自产生自己的功能行为。D、以上都不对 22下列哪个关键字用于实现接口( )A、implementsB、implementC、import D、imports23现有两个类A、B,以下描述中表示B继承自A的是( )A、 class A extends B B、 class B implements AC、 class A implements B D、 class B extends A24对于下列代码: public class Parent public int addValue( int a, int b) int s; s = a+b; return s; class Child extends Parent 下述哪些方法可以加入类Child可以实现覆盖( ) 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.25用abstract定义的类( ) A、可以被实例化 B、不能派生子类C、不能被继承 D、只能被继承简答题什么是实例变量和类变量及他们的区别?static 类变量 类名.类变量 对象.类变量 (公共的 全局的) 普通变量 对象.变量类及类成员的访问控制符有哪些,并说明各自权限? public protected default private 一个类里 一个包里的类 在不同包里的子类 在不同包里的其他类 抽象类和接口区别抽象类 模板 接口 标准 覆盖与重载区别覆盖 对应的是两个继承关系的类 返回值 函数名 参数类型 和 个数 必须一致 权限要大于 父类 重载 在一个类里完成对同名函数的不同参数的 调用异常和多线程部分选择题1、以下哪个方法用于定义线程的执行体( )。Astart()B. init() Crun()D. main()2、在编写异常处理的Java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动Java的异常处理机制。A、if else B、switch C、throw D、try3、可以对对象加互斥锁的关键字是( )A、transient B、synchronized C、serialize D、static4、下列哪个方法可用于创建一个可运行的线程类( )A、public class X implements Runable public void run(). B、public class X implements Thread public void run(). C、public class X implements Thread public int run(). D、public class X implements Runable protected void run(). 简答题简述创建线程的2种方式的区别。继承Thread类 实现Runnable接口 (资源共享、类的扩充)简答题1、什么是实例变量和类变量及他们的区别?static 类变量 类名.类变量 对象.类变量 (公共的 全局的) 普通变量 对象.变量类变量也叫静态变量,也就是在变量前加了static 的变量;实例变量也叫对象变量,即没加static 的变量;类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象2、类及类成员的访问控制符有哪些,并说明各自权限? public protected default private 一个类里 一个包里的类 在不同包里的子类 在不同包里的其他类 3、抽象类和接口区别抽象类 模板 接口 标准抽象类约定多个子类之间共同使用的方法,接口约定多个互不相同类之间的使用方法。抽象类是单继承,接口是多继承的。抽象类及类中的成员具有和普通类一样的访问权限,接口只有public和缺省两种。抽象类可以包含非抽象方法,也可声明构造方法;接口都是抽象方法。抽象类属性可以赋值,接口中只能声明为常量。 4、覆盖与重载区别覆盖 对应的是两个继承关系的类 返回值 函数名 参数类型 和 个数 必须一致 权限要大于 父类 重载 在一个类里完成对同名函数的不同参数的 调用在覆盖中,由于同名的不同方法是存在于不同的类中,所以只需要在调用方法时,指明调用的是哪个类的方法,就可以很容易地把它们区分开来。而在重载多态中,由于重载发生在同一个类中,不能再用类名来区分不同的方法,所以一般采用不同的形式参数列表,包括形式参数的个数、类型、顺序的不同,来区分重载的方法5. 简述创建线程的2种方式的区别。继承Thread类 实现Runnable接口 (资源共享、类的扩充)继承thread类;实现Runable接口1子类对象为线程对象;对象没有线程对象。2不能多继承;能多继承。3有线程体;没有线程体。4有声明Thread类的方法;需要声明Thread线程对象。包括基本概念和用迭代器 Iterator 迭代输出。ArrayList是长度可变的对象引用数组,称为动态数组;随着元素的添加,元素数目的增大,数组容量也会随之自动扩展;访问和遍历数组元素时,ArrayList的性能优越;ArrayList类继承了AbstractList类并实现了List接口。ArrayList是List接口最常使用的一个子类,其定义如下:public class ArrayListextends AbstractListimplements List, RandomAccess, Cloneable, Serializable import java.util.ArrayList;import java.util.List;public class ArrayListDeleteDemo public static void main(String args) List allList = new ArrayList();/ 为List接口实例化allList.add(hello);/ 增加元素,Collection接口定义allList.add(0, “JIT);/ 增加元素,List接口定义allList.add(world);/ 增加元素,Collection接口定义allList.remove(0); / 删除第一个位置的元素,List接口定义allList.remove(world);/ 删除元素,Collection接口定义System.out.println(allList);for (int i = 0; i allList.size(); i+) / 循环输出System.out.println(allList.get(i); / 输出内容 观察Iterator的使用 public class IteratorDemo01 public static void main(String args) List allList = new ArrayList();allList.add(A);allList.add(B);allList.add(C);allList.add(D);allList.add(E);Iterator iter = allList.iterator();while (iter.hasNext() System.out.print(iter.next() + 、);while (iter.hasNext() String str = iter.next(); / 取出内容if (C.equals(str) iter.remove();/ 删除元素System.out.print(str + 、);System.out.println(删除之后的集合: + allList); 两道编程题:1、 模拟的Copy程序文件的复制 While()File file1 = new File(d:+ File.separator + demo1.txt);File file2= new File(d:+ File.separator + demo2.txt);FileInputStream fr = new FileInputStream(file1);FileOutputStream fo = new FileOutputStream(file2);int length = 0;while(length = fr.read(temp, 0, temp.length) != -1)totalSize += length;fo.write(temp, 0, length);if(fr!=null)fr.close();if(fo!=null)fo.close();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论