java复习题 下载本文

C.构造方法在调用对象方法时被调用 D.构造方法在使用对象的变量时被调用

答案:B解析:调用构造方法创建对象构造方法的作用是为对象中的属性赋值,在创建对象时,构造方法就会被调用。

8下列关于构造方法定义的描述中,错误的是( )。

A.方法名与类名相同 B.在方法名的前面没有返回值类型的声明C.当定义了有参构造方法,系统默认的无参构造方法依然存在D.在方法中不能使用return语句返回一个值 答案:C

9下列关于构造方法的描述,错误的是( )。

A、一个类中只能定义一个构造方法B、一个类中可以定义多个构造方法C、如果在一个类中定义有参的构造方法,jvm就不会提供默认的无参构造方法D、构造方法的作用是用来给属性进行初始化的 答案:A

10Person p = new Person(“张三”,23);这条语句会调用下列哪个构造方法给属性进行初始化( )

A.public Person(){} B.public Person(String name,int age) { this.name = name; this.age = age; } C.public Person(int age,String name) { this.age = age; this.name = name; } D.public Person(String name) { this.name = name; }

答案:B解析:创建对象时会找到匹配的构造方法给属性进行初始化,由于Person p = new Person(“张三”,23);这条语句中有两个参数,而且第1个参数是String类型的,第2个参数是int类型的,因此会调用B选项中的构造方法。

11在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字? A.inherits B.implements C.extends D.modifies 答案:C 12在类的继承关系中,需要遵循以下哪个继承原则?

A.多重 B.单一 C.双重 D.不能继承 答案:B 13已知类的继承关系如下: class Employee;

class Manager extends Employeer; class Director extends Employee; 则以下语句能通过编译的有哪些?

A.Employee e=new Manager(); B.Director d=new Manager(); C.Director d=new Employee(); D.Manager m=new Director(); 答案:A

14编译运行下面的程序,结果是什么? public class A {

public static void main(String[] args) { B b = new B(); b.test(); }

void test() {

System.out.print(\ } }

class B extends A { void test() { super.test();

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()方法的是( )