java复习题(2)

2019-05-18 22:57

System.out.print(\ } }

A.产生编译错误 B.代码可以编译运行,并输出结果AB

C.代码可以编译运行,但没有输出 D.编译没有错误,但会产生运行时异常 答案:B

15public class Example {

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

int rst = 4/0;

System.out.println(\ }catch(Exception e){

System.out.println(\语句块执行\ return; }finally{

System.out.println(\语句块执行\ }

System.out.println(\程序继续向下执行\ } }

运行以上程序,输出的结果是( )

A.catch语句块执行B.catch语句块执行 程序继续向下执行

C.catch语句块执行 finally语句块执行D.0 程序继续向下执行 答案:C解析:在try语句块中发生了除零异常,因此会执行catch语句块中的内容,输出\语句块执行\,finally语句块中表示一定会执行的语句,虽然catch中有return,但依然会输出\语句块执行\

16下面程序运行的结果是( ) class Demo{

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

int x = div(1,2); }catch(Exception e){ System.out.println(e); }

System.out.println(x) }

public static int div(int a,int b){ return a / b ; } }

A.输出1 B.输出0 C.输出0.5 D.编译失败 答案:C 17在try{}catch(______e){}横线处需要填写的是( ) A.异常对象 B.异常类 C.任意对象 D.任意类

答案:B解析:catch代码块需要一个形参指明它所能够接收的异常类型,这个参数的类型

必须是Exception类或其子类

18以下对于try?catch语句描述正确的是( )

A.try?catch语句处理程序中的错误B.try...catch语句处理程序中的bug C.try...catch语句处理程序中的异常D.以上说法都不正确 答案:C解析:try...catch语句处理程序中的异常

19下列选项中,关于final修饰成员变量的说法正确的是?( )

A.被final修饰的成员变量可以被多次赋值B.被final修饰的成员变量为常量 C.final只能在接口中修饰成员变量D.以上都不对

答案:B解析:被final修饰的变量为常量,不能被第二次赋值或改变引用 20下列选项中,不可以被final修饰的是?( ) A.接口 B.类 C.方法 D.变量

答案:A解析:final关键字可用于修饰类、变量和方法 题目难度:★☆☆☆ 容易

21分析下面程序,哪一行代码能正确赋值?() class Demo {

public void method() {

final int num1 = 10; static int num2 = 20; abstract int num3 = 30; private int num4 = 40; } }

A.final int num1 = 10; B.static int num2 = 20; C.abstract int num3 = 30;D.private int num4 = 40; 答案:A解析:final可以修饰局部变量 22下面程序的运行结果是( ) public class Demo {

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

System.out.println(10 / 0);

System.out.println(\除法正常运行\ } catch (ArithmeticException e) {

System.out.println(\除数不能为0\ } } }

A.编译失败B.编译通过,没有结果输出C.输出:除法正常运行D.输出:除数不能为0 答案:D解析:虽然是运行时期异常,但是也可以使用try?catch语句进行处理。一旦进入处理语句就不会再回去执行

23下列选项中,用于解压jar文件的命令是( ) A.jar –c B.jar –x C.jar –v D.jar -f 答案:B解析:参数x用于解压

24下列选项中,可以导入指定包中所有类的是( )

A.package包名; B.package 包名.*; C.import 包名; D.import 包名.*;

答案:D解析:如果有时候需要用到一个包中的许多类,则可以使用“import 包名.*; ”来

导入该包下所有类

25下列关于protected的说法中,正确的是( )

A.protected修饰的方法,只能给子类使用B.protected修饰的类,类中的所有方法只能给子类使用C.如果一个类的成员被protected修饰,那么这个成员既能被同一包下的其它类访问,也能被不同包下该类的子类访问D.以上都不对

答案:C解析:如果一个类的成员被protected访问控制符修饰,那么这个成员既能被同一包下的其它类访问,也能被不同包下该类的子类访问

26如果类的成员被( )访问控制符来修饰,则这个成员只能被该类的其它成员访问,其它类无法直接访问

A.private B.default C.protected D.public

答案:A解析:如果类的成员被private访问控制符来修饰,则这个成员只能被该类的其它成员访问,其它类无法直接访问。类的良好封装就是通过private关键字来实现的 27阅读下列的代码 public class Test {

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

class Outer {

static class Inner {

public void method () {

System.out.println(\ } } }

下列选项中,填写在空白处可以使程序正常运行的是()

A.Outer o = new Outer(); o.method(); B.Inner I = new Inner(); i.method(); C.Outer.Inner oi = new Outer.Inner(); oi.method(); D.以上答案都不对 答案:C 28阅读下列的程序 public class Test3 {

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

class Outer {

static class Inner {

public void method () {

System.out.println(\ } } }

下列选项中,可以正确输出method()方法的是( )

A、Outer o = new Outer(); o.method();

B、Inner I = new Inner(); i.method();

C、Outer.Inner oi = new Outer.Inner(); oi.method();

D、以上答案都不对 答案:C

29下列关于使用this调用构造方法的说法中,错误的是?( ) A.使用this调用构造方法的格式为this([参数1,参数2?]) B.只能在构造方法中使用this调用其它的构造方法 C.使用this调用其它构造方法的语句必须放在第一行

D.在一个类的两个构造方法中可以使用this互相调用 答案:D 30下列关于this的说法中,错误的是( )

A.只能在构造方法中使用this调用其它的构造方法,不能在成员方法中使用

B.在构造方法中,使用this调用构造方法的语句必须位于第一行,且只能出现一次 C.this关键字可以用于区分成员变量与局部变量 D.this可以出现在任何方法中 答案:D

31在Java语言中,所有的类都直接或间接继承自【】类 答案:Object 32一个类如果实现一个接口,那么它就需要实现接口中定义的全部【】,否则该类就必须定义成【】 答案:方法,抽象类

33异常的捕获通常由try、catch两部分组成,【】代码块用来存放可能发生异常,【】代码块用来处理产生的异常 答案:try,catch

34在Java语言中,允许使用已存在的类作为基础创建新的类,这种技术我们称为【】 答案:继承

35当一个对象被当成垃圾从内存中释放时,它的【】方法会被自动调用。 答案: finalize() 36final修饰的方法,不能被子类【】 答案:重写 解析:final修饰的方法为最终方法,不能被重写

37final修饰的局部变量只能被赋值【】次 答案:一 解析:final最终变量,只能赋值一次

38RuntimeException类及其子类都是【】异常 答案:运行时 39自定义异常需要继承【】类 答案:Exception 解析:Exception是所有异常的超类

40构造方法没有返回值类型,因此不能使用【】语句。答案:return 41构造方法的名称必须和【】保持一致。 答案:类名

42如果在某一个方法中定义的局部变量与成员变量同名时,在该方法中通过变量名访问到的是【】。答案:局部变量 43类与对象的关系中,【】用于描述多个对象的共同特征,它是对象的模板。【】用于描述现实中的个体,它是类的实例。答案:类,对象

解析:类用于描述多个对象的共同特征,它是对象的模板。对象用于描述现实中的个体,它是类的实例。

44请简述面向对象的三大特征。 答案:封装、继承、多态

面向对象的特点主要可以概括为封装性、继承性和多态性。

其中封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。

继承性主要描述的是类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展。

多态性指的是在程序中允许出现重名现象,它指在一个类中定义的属性和方法被其它类继承后,它们可以具有不同的数据类型或表现出不同的行为,这使得同一个属性和方法在不同的类中具有不同的语义。

45简述成员变量与局部变量的区别。 答案:1. 定义位置的区别:

1)成员变量是定义在方法之外类之内的变量,称作为成员变量(成员属性). 2)局部变量是定义在方法之内的变量。

2.生命周期的区别:

1)成员变量是随着对象的创建而存在,随着对象的消失而消失。

2)局部变量随着方法的调用执行到了创建局部变量的语句的时候存在,局部变量一旦出了自己的作用域马上从内存中消失。

3.存储位置的区别:

1)成员变量是存储于堆内存中的。 2)局部变量是存储于栈内存中的。 4. 初始值的区别:

1)成员变量有默认的初始值: int 0

double 0.0 float 0.0f; char ' ' String null boolean false

2)局部变量没有默认的初始值,要先初始化才能使用。

46请简述类与对象之间的关系。

答案:类是同一种类型对象的抽象,它用于描述一组对象的共同特征和行为。

面向对象的编程思想力图在程序中对事物的描述与该事物在现实中的形态保持一致。为了做到这一点,面向对象的思想中提出两个概念,即类和对象。其中,类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。 47请简要说明使用封装的好处。

答案:1.提高了数据的安全性。2.隐藏了实现细节。3.操作简单、方便。 49请阅读下面的程序,在空白处填写正确的代码,定义一个无参构造方法。 public class Person { public ____() {} }答案:Person 解析:在一个类中定义的方法如果同时满足以下三个条件,该方法称为构造方法,具体如下: 构造方法的定义需要同时满足三个条件,具体如下: 1:方法名与类名相同

2:在方法名的前面没有返回值类型的声明 3:在方法中不能使用return语句返回一个值 因此,只需在横线处填写Person即可。


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

下一篇:1101采煤工作面作业规程

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

马上注册会员

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