第三章 Java语言面向对象的特征
一、选择题
1、下列对封装性的描述中,错误的是 B 。
A.封装体包含了属性和行为 B.封装体中的属性和行为的访问权限是相同的 C.被封装的某些信息在封装体外是不可见的 D.封装使得抽象的数据类型提高了可重用性
2、在类的修饰符中,规定只能被同一包类所使用的修饰符是 B 。 A.public B.默认 C.final D.abstract
3、在成员变量的修饰符中,规定只允许该类自身访问的修饰符是 A 。 A.private B.public C.默认 D.protected 4、下列关于构造方法的特点的描述中,错误的是 A 。
A.不可重载 B.方法名同类名 C.无返回类型 D.系统自动调用 5、下列关于关于静态方法的描述中,错误的是 D 。 A.在类体内说明静态方法使用关键字 B.静态方法只能处理静态变量或调用静态方法
C.静态方法不占用对象的内存空间,非静态方法占用对象的内存空间 D.静态方法只能用类名调用
6、下列关于抽象类的描述中,错误的是 C 。 A.抽象类是用修饰符abstract说明的 B.抽象类是不可以定义对象的 C.抽象类是不可以有构造方法的 D.抽象类通常要有它的子类
7、下列关于接口的描述中,错误的是 B 。
A.接口实际上是由常量和抽象方法构成的特殊类 B.一个类只允许继承一个接口
C.定义接口使用的关键字是interface
D.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现 8、下列关于包的描述中,错误的是 A 。 A.包是一种特殊的类 B.包是若干个类的集合
C.包是使用package语句创建的 D.包有有名包和无名包两种
9、下列常用包中,存放用户图形界面类库的包是 A 。 A.java.awt B.java.lang C.java.util D.java.io
10、下列是系统提供的常用的类,所有类的父类的类是 B 。 A.Math B.Object C.System D.String
二、判断题
1、类是一种类型,也是对象的模板。(T) 2、最终变量就是Java语言中的符号常量。(T)
3、最终类、最终方法和最终变量的修饰符都用final。(T)
4、使用运算符new创建对象时,赋给对象的值实际上是一个地址值。(T) 5、Java语言中,构造方法是可以继承的。(F) 6、子类中所继承父类的成员都可以在子类中访问。(F) 7、成员方法的重载和覆盖是一回事。(F) 8、实现接口的类不能是抽象类。(T)
三、编程题
1、编程实现百鸡百钱问题:公鸡每只3元,母鸡每只5元,小鸡3只1元,用100元钱买100只鸡,公鸡、母鸡、小鸡应各买多少?
public class B-b {
public static void main(String args[] ) {
int cocks,hens,chicks;
for(cocks=0;cocks<=33;cocks++) for(hens=0;hens<=20;hens++) { chicks=100-cocks-hens;
if(3*cocks+5*hens+chicks/3==100&&chicks%3==0) System.out.println(“cocks:”+cocks+”,hens:”+hens+”, chicks:”+chicks); } } }
2、已知如下一个类: class A { int a1,a2; A(int i,int j)
{ a1=i; a2=j; } }
要求编写一个方法swap()用来交换A类的两个成员变量的值。 class A { int a1,a2; A(int i,int j) { a1=i; a2=j; } void swap()
{ int a; a=a1; a1=a2; a2=a;
System.out.println(“a1=”+a1+”,a2=”+a2);
} }
public class Pro {
public static void main(String args[]) { A a=new A(10,20);
a. swap(); } }