《Java基础入门》课后习题及答案资料 下载本文

4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,一个使用有参的构造方法,在构造方法中给姓名和成绩赋值

2、定义一个Father和Child类,并进行测试。

要求如下:

1)Father类为外部类,类中定义一个私有的String类型的属性name,name的值为“zhangjun”。 2)Child类为Father类的内部类,其中定义一个introFather()方法,方法中调用Father类的name属性。

3)定义一个测试类Test,在Test类的main()方法中,创建Child对象,并调用introFather ()方法。

第4章 面向对象(下)

一、填空题

1、在Java语言中,允许使用已存在的类作为基础创建新的类,这种技术我们称为继承______。 2、一个类如果实现一个接口,那么它就需要实现接口中定义的全部_方法_____,否则该类就必须定义成_抽象类_____。

3、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用_import_____关键字。 4、一个类可以从其它的类派生出来,派生出来的类称为_子类_____,用于派生的类称为_基类_____或者__父类____。

5、 JDK中定义了大量的异常类,这些类都是_Exception_____类的子类或者间接子类。 6、定义一个Java类时,如果前面加使用_final_____关键字修饰,那么该类不可以被继承。 7、如果子类想使用父类中的成员,可以通过关键字__super____引用父类的成员。 8、在Java语言中,所有的类都直接或间接继承自_Object_____类。

9、异常的捕获通常由try、catch两部分组成,_try_____代码块用来存放可能发生异常,_catch_____

代码块用 来处理产生的异常。

10、在Java语言中,要想是将一个已编译的类打包成jar文件,可以使用的命令是_jar-cvf_____,要

想在命令行窗口运行jar文件,可以使用的命令是__java-jar___。

二、判断题

1、抽象方法必须定义在抽象类中,所以抽象类中的方法都是抽象方法。错 2、Java中被final关键字修饰的变量,不能被重新赋值。对 3、不存在继承关系的情况下,也可以实现方法重写。错 4、package声明语句应当为Java源文件中的第一条语句。对 5、接口中只能定义常量和抽象方法。错(对) 三、选择题

1、在类的继承关系中,需要遵循以下哪个继承原则?B

A、多重 B、单一 C、双重 D、不能继承 2、在Java语言中,以下哪个关键字用于在方法上声明抛出异常?C

A.try B.catch C.throws D.throw

3、关于super关键字以下说法哪些是正确的?(多选)ABD(ABC)

A、super关键字可以调用父类的构造方法 B、super关键字可以调用父类的普通方法 C、super与this不能同时存在于同一个构造方法中 D、super与this可以同时存在于同一个构造方法中 4、以下说法哪些是正确的?(多选)ABCD

A、Java语言中允许一个类实现多个接口 B、Java语言中不允许一个类继承多个类

C、Java语言中允许一个类同时继承一个类并实现一个接口 D、Java语言中允许一个接口继承一个接口

5、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?C

A、public B、 protected C、 private D、default 6、关于抽象类的说法哪些是正确的?(多选)AC

A、抽象类中可以有非抽象方法。

B、如果父类是抽象类,则子类必须重写父类所有的抽象方法。 C、不能用抽象类去创建对象。 D、接口和抽象类是同一个概念。

7、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?C

A、inherits B、implements C、extends D、modifies 8、System类位于以下哪个包中?D

A、java.io B、java.util C、java.awt D、java.lang 9、已知类的继承关系如下: A

class Employee;

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

A、 Employee e=new Manager(); B、 Director d=new Manager(); C、 Director d=new Employee(); D、Manager m=new Director(); 10、编译运行下面的程序,结果是什么?B

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、编译没有错误,但会产生运行时异常

四、分析题

阅读下面的程序,分析代码是否能编译通过,如果能编译通过,请列出运行的结果。如果不能编译通过,请说明原因。 代码一:进入catch代码块

进入finally代码块(程序编译能通过,这是因为int x = 2 / 0; System.out.println(x);这两条语句使用了try块,捕获了程序因为除以0而产生的异常情况,之后程序会继续向下执行,输出“进入catch代码块”,“进入finally代码块”。)

public class Test01 {

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

try {

int x = 2 / 0;

System.out.println(x);

} catch (Exception e) { }

System.out.println(\进入catch代码块\System.out.println(\进入finally代码块\} finally {

}

代码二:不能,final修饰shout,不能被重写(程序编译不通过,这是因为在程序中使用了final关键字修饰Animal类,使得Animal类不能被继承。shout()方法中同样使用了final关键字,使得该方法不能被重