1、第 4 章(一)判断题(1)所谓对象,就是一组类的集合。 ( )(2)方法的声明和方法调用的形式一样。 ( )(3)类是对一组具有相同属性、表现相同行为的对象的描述。 ( )(4)类成员只有三种访问控制级别:公有(public) 、受保护(protected)和私有(private) 。(5)Java 语言中对象传递的是引用而不是值。 ( )(6)所谓非静态的成员变量是指每一次创建对象都会分配一个存储空间来储存这个变量,每一个对象都拥有这个变量的存储空间,这个变量是属于类的,是类的变量。 ( )(二)填空题(1)面向对象的语言将客观世界都看成由各种对象所组成。具有共同特征和行为的对象组成类,类
2、是变量和 的集合。(2)在面向对象方法中,类的实例被称为 。(3)在 Java 中,对象使用应遵循的原则是 。(4)在 Java 中,类描述的是具有相同属性的 。(5)在 Java 程序里,对象是类的一个 。(6)在 Java 程序结构里,最基本的概念是类和 。(7)引用 static 类型的方法时,可以使用 做前缀,也可以使用 做前缀。(8)类中的 方法是一个特殊的方法,其名称与类名相同。(9)一个类主要包含两个成员要素: 和 。(10)静态数据成员既可以通过 来访问,也可以通过 来访问。(11)Java 是面向对象的语言,对象是客观事物的 ,对象与之是一一对应的。(12)定义一个类包括定义
3、类头和定义 两个部分。(13)Java 语言以 为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。(14)把对象实例化可以生成多个对象,使用 运算符为对象分配内存空间。(15)在 Java 中有一种叫做 特殊方法,在程序中用它来对类成员进行初始化。(三)选择题(1)下面关于类变量和实例变量的叙述中描述错误的是( ) 。A实例变量是类的成员变量B.类变量第一次用到时被初始化,以后创建其他对象时就不再进行初始化C.实例变量在每次创建对象时都被初始化D.实例变量是用 statiic 修饰的成员变量(2)下面( )修饰符可以使一个类中的成员变量能被外部类调用。A.public B.p
4、rotected C.private D.没有修饰符(3)定义类中可以用来修饰类名的修饰符是( ) 。A.private B.abstract C.native D.protected(4)定义类头时,不可以放到类名前面的关键字是( ) 。A.public B.abstract C.final D.static(5)关于用关键字 private 修饰的成员变量,下列说法正确的是( ) 。A.可以被其他包的类访问 B.只能被同一个包中的其他类访问C.只能被该类自身所访问或修改 D.可以被其他包中的该类的子类访问(6)下面关于类的说法中,错误的是( ) 。A.类是经过抽象的共有属性的集合 B.类是
5、 Java 程序的核心和本质C.类是对象的模板,二类对象则是类的实例化结果D.在面向对象的编程语言中,类不是一个独立的程序单位(7)下面有关变量调用的语句正确的是( ) 。Public class NumberInt a=2;Float b=12;Static int c=13;Public static void main(string args)Number one=new Number();A.one.a B.Number.a C.number.a D.Number.one(8)设 Test 为已定义的类,下面声明类 Test 对象 a 的语句正确的是( ) 。A.Test a=Test
6、(); B.public Test a; C.Test a=new Test(); D.public Test a=new Test();(9)下面( )不是对象的特征。A.对象的行为 B.对象的状态 C.对象的局部变量 D.对象的标识符(10)定义抽象类时所用到的关键字是( ) 。A.final B.public C.abstract D.protected(11)定义一个公有 double 型符号常量 PI,下面的语句中正确的是( ) 。A.public final double PI; B.public final static double PI=3.14159;C.public fi
7、nal static double PI; D.public static double PI=3.14159;(12)有一个类 B,下面为其构造方法的声明,正确的是( ) 。 A.void B(int x) B.B(int x) C.void b(int x) D.b(int x)(13)为 B 类定义一个无返回值的方法 f,使得使用类名就可以访问该方法,该方法头的形式为( ) 。A.abstract void f() B.public void f() C.final void f() D.static void f()(四)问答题(1)什么是类?什么是对象?(2)什么是修饰符?修饰符的种
8、类有哪些?各有什么用处?(3)如何定义方法?方法有哪些类型?(4)何为局部变量?什么是局部变量的作用域?(5)类的访问控制修饰符有哪些?(6)如何实现数据的封装?(7)方法的访问控制修饰符有哪些?(8)属性的访问控制修饰符有哪些?(9)this 的意义与作用是什么?(10)什么是递归算法?如何用递归方法来编程解决问题?(五)编程题(1)定义一个实现常用数学运算的类 MyMath,类中提供 max()、min() 、sum()与 average()四个静态方法,每个方法带有三个整形参数,分别实现对三个整数求取最大值、最小值、和值及平均值的运算。在主类中对任意输入的三个整数,调用 MyMath 类
9、的四种静态方法,求取结果并输出。(2)定义 student 类,其中包括四个私有变量(name、age、sex 、score) 、一个构造方法和show()方法。各成员的含义如下。变量 name 为字符串类型 String,用于存储学生的姓名。变量 age 为 int 类型,用于存储学生的年龄。变量 sex 为 boolean 类型,用于存储学生的性别,男生为 false,女生为 true。变量 score 为 double 类型,用于存储学生的成绩。构造方法包括四个参数,用于为变量(name、age、sex 和 score)赋值。Show()方法无参数,用于输出变量(name、age、sex
10、 和 score)的值。(3)有一对雌雄兔,每两个月就繁殖雌雄各一对兔子。问 n 个月后共有多少对兔子?试用递归方法编写 Java 程序。(4)用递归方法编写 Java 程序求 n 个自然数的最大公约数与最小公倍数。(5)编写程序解下面的问题:猴子吃桃问题,猴子第一天摘下若干个桃子,当即吃了一半,还又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个,到第十天早上还想吃时,见只剩下一个桃子了,求第一天一共摘了多少?(6)编写一个 Application 程序,程序中包括计算机类 Computer,生成几个 Computer 类对象并输出相关信息
11、。Computer 类具有品牌、产地、CPU 类型、内存容量、硬盘大小、是否带有刻录光驱、购买日期、购买地点、价格等属性。Computer 类包括以下几类方法:对应于各个属性的 get()方法与 set()方法;多个构造方法;dispMessages()方法,该方法输出计算机对象的一些属性信息。(7)构造一个类来描述屏幕上的一个点,该类的构成包括点的 x 和 y 两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。(8)定义一个类 A,类中有一个 private 的整型变量 data,一个 private 的字符串对象 str。
12、类中有两个构造函数,一个不含参数,初始化 data 和 str 为其默认值;另一个有两个参数,分别用来初始化 data 和 str。类中还定义了三个方法,方法的原型与功能分别如下。Public add(int k,String s);/该方法把 data 和 str 的值分别加上 k 和 s。Public clearA();/该方法把 data 和 str 的值分别清除为其默认值。Public String toString();/该方法把 data 和 str 的值转变为字符串返回。编写应用程序测试类 A,使用 A 中的三个方法并将结果输出。(9)定义一个类,该类具有 x 和 y 两个属性,
13、定义构造函数初始化这两个属性。类中还定义以下方法:求两个数的和(x+y) 并返回结果的方法,求两个数的差 (x-y)并返回结果的方法,求两个数的乘(x*y)并返回结果的方法,求两个数的商(x/y) 并返回结果的方法,求两个数的余(x%y) 并返回结果的方法,求两个数的最大值并返回结果的方法,求两个数的最小值并返回结果的方法。编写应用程序,测试上面定义的类,使用类中定义的各个方法并将其结果输出。(10)定义一个复数类 ComplexNumber,该类具有整数类型的两个属性 a 和 b,分别代表一个复数的实部与虚部,对应于形如 a+bi 形式的复数表达。该类具有重载的多个构造方法,用来初始化两个属性。定义一个复数运算类 ComNumOperations,该类具有复数类引用类型的两个属性 complex1 与 complex2,还具有构造方法及对两个复数进行加、减、乘、除四类运算的成员方法。在主类中创建一些复数类的实例对象,利用 ComNumOperations 的运算方法求取这些复数的运算结果并输出。