




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章 Java语言面向对象的特征2.选择题3-1 下列对封装性的描述中,错误的是( B ).A.封装体包含了属性和行为B.封装体中的属性和行为的访问权限是相同的C.被封装的某些信息在封装体外是不可见的D.封装使得抽象的数据类型提高了可重用性3-2 下列关于继承性的描述中,错误的是(C)A.一个类可以同时生成多个子类B.子类继承了父类的所有成员C. Java语言支持单重继承和多重继承D. Java语言通过接口可使子类使用多个父类的成员3-3 下列对多态性的描述中,错误的是(A)A. Java语言允许运算符重载B. Java语言允许方法重载C. Java语言允许变量覆盖D.多态性提高了程序的抽象性和简洁性3-4 在类的修饰符中,规定只能被同一包类所使用的修饰符是(B)A. public B.默认 C. final D. abstract3-5 在成员变量的修饰符中,规定只能被同一包类所使用的修饰符是(B)A. private B. public C.默认 D. protected3-6 在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其他包的该类子类的修饰符是(D)A. public B. private C.默认 D. protected3-7 下列关于构造方法的特点的描述中,错误的是(A)A.不可重载 B.方法名同类名 C.无返回类型 D.系统自动调用3-8 下列关于静态方法的特点的描述中,错误的是(D)A.在类体内说明静态方法使用关键字 staticB.静态方法只能处理静态变量或调用静态方法C.静态方法不占用对象的内存空间,非静态方法占用对象的内存空间D.静态方法只能用类名调用3-9 下列对静态初始化器的描述中,错误的是(C)A.静态初始化器是用来对类进行初始化的,而不是对某个对象初始化B.静态初始化器是由关键字 static 和一对花括号组成的语句组C.静态初始化器不同于构造方法,它不是方法D.静态初始化器在产生新对象时,是由系统自动调用的3-10 下列关于抽象类的描述中,错误的是(C)A.抽象类是用修饰符 abstract 说明的B.抽象类是不可以定义对象的C.抽象类是不可以有构造方法的D.抽象类通常要有它的子类3-11 下列关于类的继承性的描述中,错误的是(D)A.继承是在已有类的基础上生成新类的一种方法B.子类继承父类的所有成员C. Java 语言要求一个子类只有一个父类D.父类中成员的访问权限在子类中将被改变3-12 下列关于子类继承父类的成员的描述中,错误的是(A)A.子类中继承父类中的所有成员都可以直接访问B.子类中定义有与父类同名变量时,子类继承父类的操作中,使用继承父类的变量;子 类执行自己的操作中,使用自己定义的变量C.当子类中出现成员方法头与父类方法头相同的方法时,子类成员方法覆盖父类中的成 员方法D.方法重载是编译时处理的,而方法覆盖是在运行时处理的3-13 下列关于接口的描述中,错误的是(B)A.接口实际上是由变量和抽象方法构成的特殊类B.一个类只允许继承一个接口C.定义接口使用的关键字是 interface D.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现3-14 下列关于包的描述中,错误的是(A)A.包是一种特殊的类 B.包是若干个类的集合C.包是使用 package 语句创建的 D.包有有包名包和无名包两种3-15 下列常用包中,存放用户图形界面类库的包是(A)A. java.awt B. java.lang C. java.util D.java.io3-16 下列是系统提供的常用的类,所有类的父类的类是(B)A. Math B. Object C. System D. String3.判断题3-1 类是一种类型,也是对象的模板。(对)3-2 Java语言只支持单重继承,不支持多重继承。(对)3-3 类中说明的方法可以定义在类体外。(错)3-4 class 不是定义类的唯一关键字。(错)3-5 某类的对象可以作为另一个类的成员。(对)3-6 在类体内说明成员变量时不允许赋初值。(错)3-7 最终变量就是Java 语言中的符号常量。(对)3-8 静态变量的引用只能使用对象。(错)3-9 静态方法只能处理静态变量。(对)3-10 抽象方法是一种只有说明而无具体实现的方法。(对)3-11 最终方法是不能被当前子类重新定义的方法。(对)3-12 Java语言中,方法调用一律都是传址的引用调用。(错)3-13 非静态方法中不能引用静态变量。(错)3-14 静态初始化器是在构造方法被自动调用之前运行的。(对)3-15 抽象方法仅有方法头,而无方法体。(对)3-16 抽象方法一定出现在抽象类中。(对)3-17 最终类,最终方法和最终变量的修饰符都用final 。(对)3-18 创建对象时系统将调用适当的构造方法给对象初始化。(对)3-19 使用运算符new 创建对象时,赋给对象的值实际上是一个地址值。(对)3-20 使用构造方法只能给非静态成员变量赋初值。(对)3-21 创建对象时,该对象占用的内存空间除了非静态的成员变量外,还有非静态的成员方法。(对)3-22 Java 语言中,对象成员的表示只使用运算符 “.”。(对)3-23 Java 语言中,对象赋值实际上是同一个对象具有两个不同的名字,因为他们都有同一个地址值。(对)3-24 对象可作方法参数,对象数组不能作方法参数。(错)3-25 Java语言中,所创建的子类都应有一个父类。(对)3-26 Java语言中,类的继承是可以传递的。(对)3-27 Java语言中,构造方法是可以继承的。(错)3-28 子类中构造方法应包含自身类的构造方法和直接父类的构造方法。(对)3-29 调用this 或 super 的构造方法的语句必须放在第一条语句。(对)3-30 子类对象可以直接赋值给父类对象;而父类对象不可以赋值给子类对象。(错)3-31 子类中所继承父类的成员都可以在子类中访问。(错)3-32 成员方法的重载和覆盖是一回事。(错)3-33 一个类可以实现多个接口。接口可以实现“多重继承”。(对)3-34 实现接口的类不能是抽象类。(对)4.填空题3-1 对象具有3大要素,它们分别是(对象名),(对象类型),(对象值)。这3大要素分别用(同标识符),(类名),(默认值或初值)表示。3-2 定义类时,通常要使用的关键字有(class),(extends),(implements)。3-3 成员变量的定义格式如下:()(=);3-4 成员变量的非访问控制修饰符有(static),(final),(volatile)。3-5 在成员方法的定义中可省略的部分有(修饰符),(参数表),(异常类名列表)。3-6 Java 语言中,重载方法的选择是在(编译)时进行的,系统根据(参数个数),(参数类型),(参数顺序)寻找匹配方法。3-7 没有子类的类称为(最终类),不能被子类重载的方法称为(最终方法),不能被改变值的量称为常量,又称为(最终变量)。3-8 创建一个对象时,通常要包含3项内容:(说明对象),给对象分配空间,(对象初始化)。3-9 系统规定int型变量默认值为(0),浮点型变量的默认值为(0.0),布尔型变量的默认值为(false)。3-10 Java语言中,定义子类时,使用关键字(extends)来给出父类名。如果没有指出父类,则该类的默认父类为(object类)。3-11 系统规定:表示当前类的构造方法用(this(),表示直接父类的构造方法用(super()。3-12 接口中默认的成员变量的修饰符为(final),默认的成员方法的修饰符是(final)。3-13 实现接口中的抽象方法时,必须使用(完全相同)方法头,并且还要用(public)修饰符。3-14 包名与子包名之间用(.)分隔。加载包的关键字是(import)。3-15 字符串类又包含两大类,它们是(String)和(StringBuffer).5.分析程序的输出结果题3-1 Exer3_1.javaclass Aint x,y,z,sum;A(int i,int j,int k)x=i;y=j;z=k;sum=x+y+z;boolean sameA(A al)if(al.x=x)&(al.y=y)&(al.z=z)return true;elsereturn false;boolean sameS(A al)if(al.sum=sum)return true;elsereturn false;class Exer3_1public static void main(String args)A a=new A(2,5,8);A b=new A(2,5,8);A c=new A(5,8,2);System.out.println(a,sameA(b);System.out.println(a,sameA(c);System.out.println(a,sameA(b);System.out.println(a,sameA(c);输出结果如下:truefalsetruetrue3-2 Exer3_2.javaclass Bvoid meth(int i)System.out.println(Int:+i);void meth(double i)System.out.println(Double:+i);class Exer3_2public static void main(String args)int i=8;double d=6.8;short s=10;float f=5.3f;byte b=9;char c=a;B ob=newB();ob.meth(i);ob.meth(d);ob.meth(s);ob.meth(int)f);ob.meth(b);ob.meth(c);输出结果如下:Int:8Double: 6.8Int:10Int:5Int:9Int:973-3 Exer3_3.javaclass Cint c;C(int a)c=0;for(int i=0;i=a;i+)c+=i;C(Cb)c=b.c;class Exer3_3public static void main(String args)C c1=new C(6);C c2=new C(new C(4);System.out.println(c1:+c1.c);System.out.println(c2+c2.c);输出结果如下:c1:21c2:103_4 Exer3_4.javaclass Dstatic int d=100;static int meth()int s=d*10;return(s);D(int i)d=i;class Exer3_4public static void main(String args)System.out.println(d.meth:+D.d);D dd=new D(10);System.out.println(d:+D.d);System.out.println(dd:+dd.d);System.out.println(d.meth:+D.meth();System.out.println(d.meth:+dd.meth();System.out.println(d:+D.d);D.d=500;System.out.println(d.meth:+D.meth();输出结果如下:d.meth:100d:10dd:10d.meth:100d.meth:100d:10d.meth:50003_5 Exer3_5.javaclass Edouble h,w;void show()System.out.println(width=+w+,height=+h);class T extends Edouble area()return w*h;class Exer3_5public static void main(String args)T t1=new T();T t2=new T();t1.w=8.0;t1.h=5.0;t2.w=12.0;t2.h=16.0;t1.show();System.out.println(t1:area=+t1.area();t2.show();System.out.println(t2:area=+t2.area();输出结果如下:Width= 8.0 , height=5.0t1:area=40.0width=12.0,height=16.0t2:area=192.03-6 Exer3_6.javaclass AA()System.out.println(class A);class B extends Aint b;B(int i)(b=i);class C extends Bprivate int c;C(int i,int j)super(j);c=i;int return c()return c;class Exer3_6public static void main(String args)C c=new C(5,18);System.out.println(c:+c.b*c.return c();输出结果如下:class Ac:903-7 Exer3_7.javaclass Avoid show()System.out.println(class A);class B extends Avoid show()System.out.println(class B);class C extends Bvoid show()System.out.println(class C);class Exer3_7public static void main(String argsp)A a=new A();B b=new B();C c=new C();A x=new A();x=a;x.show();x=b;x.show();x=c;x.show();输出结果如下:class Aclass Bclass C3-8 Exer3_8.javaabstract class Shapprivate double w,h;Shap(double i)w=h=i;Shap(double i,double j)w=i,h=j;Shap(Shap s)w=s.w;h=s.h;double getw()return w;double geth()return h;abstract double area();class Rest extends ShapRect(double i)super(i);Rect(double i,double j)super(i,j);Rect(Rect r)super(r);double area()return getw()*geth();class Exer3_8public static void main(String args)Shap s=new Shap3;s0=new Rect(8.0);s1=new Rect(5.0,6.0);s2=new Rect(new Rect(12.0,4.0);for(int i=0;is.length;i+)System.out.println(s+i+area=+si.area();输出结果如下:s0area=64.0s1area=30.0s2area=48.03-9 addre.java(在子目录address下)package address;public class addreprivate String s1,s2,s3;public addre(String str1,String str2,String str3)s1=str1;s2=str2;s3=str3;public void show()System.out.print(s1);System.out.print(t+s2);System.out.println(t+s3);Exer3_9.javaimport address.*;class Exer3_9public static void main(String args)addre s=new addre2;s0=new addre(PKU,building 44,room 109);s1=new addre(PKU,building 54,room 209);for(int i=0;is.length;i+)si.show();输出结果如下:PKU building 44 room 109PKU building 54 room 2093-10 Exer3_10.javainterface Seriesint getVal();class R1 implements Seriesint val;R1()val=0;public int getVal()val+return val;class R2 implements Seriesint val;R2()val=0;public int getVal()val+=2;return val;class Exer3_10public static void main(String args)R1 r1=new R1();R2 r2=new R2();Series s;for(int i=0;i3;i+)s=r1;System.out.println(r1:+s.getVal();s=r2;System.out.println(r2:+s.getVal();输出结果如下:r1:1r2:2r1:2r2:4r1:3r2:63.5 测试题1.单选题3-1 定义类时使用的关键字是()。A. class B. struct C. unin D. array3-2 下列关于方法的描述中,错误的是()。A.方法只有类的成员方法,再无其他方法B.方法可以重载和内联C.对象作为方法参数时,参数传递的是对象地址值D.方法的返回值是通过return来实现的3-3 在下列关于静态成员的描述中,错误的是()。A.静态成员有成员变量和方法两种B.静态成员的修饰符是staticC.静态成员可以使用类名访问,也可使用对象名访问D.静态方法可以访问静态成员变量也可以访问非静态成员变量3-4 在下列关于类的继承的描述中,错误的是()。A.子类只允许一个父类B.一个父类只能生成一个子类C.继承不改变成员访问权限D.私有成员和构造方法不能继承3-5 在下列关于方法的重载和覆盖的描述中,错误的是()。A.方法重载是指在同一个类中允许出现方法参数,个数,顺序不同而方法名相同的若干方法;B.方法覆盖是指在父类和子类之间出现的方法头相同而方法体不同的多个方法C.方法重载是在编译时进行选择的D.方法覆盖也是在编译时进行选择的2.判断题3-1 调用默认构造方法时,对象成员变量将获取默认值。3-2 对象可以作另类的成员,也可以作数组元素。3-3 Java语言的多态性仅表现在方法的重载上。3-4 一个类可以同时实现多个接口,接口是在编译时处理的。3-5 可以创建包,一个包中只能有一个类。3-6 Object类是所有类的父类。3-7 System类中所有成员都是static的。3-8 String类和StringBuffer类是不同的。3.分析程序结果题3-1 分析下列程序的输出结果。程序内容如下:import java.io.*;class Astatic int a=100;static int Twoa()return 2*a;public class test3_1public static void main(String args)System.out.println(a=+A.a);System.out.println(2*a=+A.Twoa();A.a=10;System.out.println(2*a=+A.Twoa();3-2 分析下列程序的输出结果。程序内容如下:import java.io.*;class Bint b1,b2;B()b1=b2=0;B(int i)b1=b2=i;B(int i,int j)b1=i;b2=j;B(B b)b1=b.b1;b2=b.b2;void print()System.out.println(b1+,+b2);public class test3_2public static void main(Sting args)B b=new B4;b0=new B();b1=new B(4,8);b2=new B(b1);b3=new B(7);for(int i=0;i4;i+)bi.print();3-3 分析下列程序的输出结果。程序内容如下:import java.io.*;class Cint c;C(int i)c=i;int getc()return c;class D extends Cint c;D(int i,int j)super(i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年关于hpv感染知识考试试题及答案
- 2025年陕西省政府采购评审专家考试真题含答案
- 2025年1 x物流题库及答案
- 新质生产力的支撑体系与基点构建
- 2025年建筑制图考试试题及答案
- 广东省茂名市信宜市2024-2025学年三年级上册期中考试科学试卷(含答案)
- 2025年八下期中考试试卷及答案
- 三力考试试题图库及答案
- Scratch无人机课件教学课件
- RJ45继电器模块课件
- 2025年水面渔业养殖承包合同范本:水产养殖合作协议
- 2025年有害生物防治员初级理论知识考核试题及答案
- 新版2026统编版小学道德与法治三年级上册 第4课《 科技力量大》第1课时 科技改变生活和科技改变观念 教案设计(教案)
- 供应链金融操作指南
- 2025-2026学年湘教版(2024)初中地理七年级上册教学计划及进度表
- 2025年重庆八中宏帆中学小升初自主招生数学试题(含答案详解)
- 学会交流与沟通课件
- 铁路监理培训考试试题及答案
- 焊接和切割作业的防火、防爆措施
- 人事任命书红头文件模板
- 探讨恶性肿瘤患者化疗后口腔溃疡治疗及护理的有效措施
评论
0/150
提交评论