类与对象的复习与练习

合集下载

类比推理根据两个或两类对象之间在某些方面的相似

类比推理根据两个或两类对象之间在某些方面的相似

证明: 在△ABC中, 因为CD⊥AB,AC> BC 所以AD>BD,
A 于是∠ACD>∠ BCD。
错因:偷换概念
C
DB
17
2、下列几种推理过程是演绎推理的是( A)
A、5和2 可2 以比较大小;
B、由平面三角形的性质,推测空间四面体的性质; C、东升高中高二级有15个班,1班有51人,2班有
53人,3班有52人,由此推测各班都超过50人; D、预测股票走势图。
大前提:刑法规定抢劫罪是以非法占有为目的,使 用暴力、胁迫或其他方法,强行劫取公私财物的行 为。其刑事责任年龄起点为14周岁,对财物的数额 没有要求。
小前提:小明超过14周岁,强行向路人抢取钱财50元。
结论:小明犯了抢劫罪。
8
三、演绎推理的特点:
1.演绎推理的前提是一般性原理,演绎所得的 的结论是蕴含于前提之中的个别、特殊事实,结 论完全蕴含于前提之中,因此演绎推理是由一般 到特殊的推理;
5
一、演绎推理的定义:
从一般性的原理出发,推出某个特殊情 况下的结论,这种推理称为演绎推理.
二、演绎推理的模式:
“三段论”是演绎推理的一般模式;
M……P(M是P) S……M (S是M) S……P (S是P)
大前提---已知的一般原理; 小前提---所研究的特殊对象; 结论---据一般原理,对特殊 对象做出的判断.
小明是一名高二年级的学生,17岁,迷恋上网络, 沉迷于虚拟的世界当中。由于每月的零花钱不够用,便 向亲戚要钱,但这仍然满足不了需求,于是就产生了歹 念,强行向路人抢取钱财。但小明却说我是未成年人而 且就抢了50元,这应该不会很严重吧???
如果你是法官,你会如何判决呢?小明到底是不 是犯罪呢?

Java语言程序设计期末复习综合练习题

Java语言程序设计期末复习综合练习题

29.下列哪些语句关于内存回收的说明是正确的? 关于内存回收的 理解 A 程序员必须创建一个线程来释放内存; B 内存回收程序负责释放无用内存 C 内存回收程序允许程序员直接释放内存 D 内存回收程序可以在指定的时间释放内存对象 答:B 30. 在编写Java程序时,若需要对发生的事件作出响应和处理,一 般需要在程序的开头写上( )语句。??? A、import java.awt.* ; B、import java.applet.* ; C、import java.io.* ; D、import java.awt.event.* ; 答:D 31.对于子类的构造函数说明,下列叙述中不正确的是( )。类 与构造函数 A、子类无条件地继承父类的无参构造函数。 B、子类可以在自己的构造函数中使用super关键字来调用父类的 含参数构造函 数,但这个调用语句必须是子类构造函数的第一个可执行 语句。 C、在创建子类的对象时,将先执行继承自父类的无参构造函 数,然后再执行 自己的构造函数。 D、子类不但可以继承父类的无参构造函数,也可以继承父类的 有参构造函数。 答:D 32. 容器被重新设置大小后,哪种布局管理器的容器中的组件大小不 随容器大小的变化而改变? 容器的理解? A CardLayout B FlowLayout C BorderLayout D GridLayout 答:B 二、填空题。 1.在Java的基本数据类型中,char型数据占 字节内存空间, int型数据占用 字节内存空间。需要熟悉字符类型所需要的空间 答:2、4 2. 设x = 2 ,则表达式 ( x + + ) * 3 的值是 。 答:6 简单java程序的考查
D. 不需要任何修辞词 答:D 13.若在某一个类定义中定义有如下的方法: abstract void performDial( ); 该方法属于( )。对于类的理解 A、本地方法 B、最终方法 C、多态方法 D、抽象方法 答:D 14.以下语句不能通过编译的是( )。对于二维数组的理解 A. int[] a={1,2,3,4}; B. int b[]; C. int c[]=new int[3]; D. int d=new int[]; 答: D 15.在switch(表达式)语句中,表达式的类型不能为( )。 A、byte B、char C、long D、int 答:C 16.设有下面两个类的定义: class Person { class Student extends Person { long id; // 身份证号 int score; // 入学总分 String name; // 姓名 int getScore(){ } return score; } } 问:类Person和类Student的关系是( )。对于类的理解 A、包含关系 B、继承关系 C、关联关系 D、无关系,上述类定义有语法错误 答:B、 17. 设有下面的两个类定义: class AA { void Show(){ System.out.println(“我喜欢Java!”); } class BB extends AA { void Show(){ System.out.println(“我喜欢C++!”); } 则顺序执行如下语句后输出结果为:( )对于类的理解。(简单的 包含类的程序的理解) AA a; BB b;

java复习与练习答案(老师给的答案)

java复习与练习答案(老师给的答案)

复习与练习一、单项选择题:1.在Java中,接口中定义的常量总是被隐式声明为___C_____。

①public ②static ③final ④voidA.①③B.①②C.①②③D.②③④2.以下声明常量的语句不正确的是__B______。

A.final double PI=3.14159;B.double PI=3.14159;C.static final double PI=3.14159;D.public static final double PI=3.14159;3.在java代码中,以下哪种类型的注释是正确的?___D_____A.*/ 注释行1注释行2注释行3 /* B.// 注释行1注释行2注释行3 // C.(* 注释行1注释行2注释行3 *)D./* 注释行1注释行2注释行3 */4.下面是有关子类继承父类构造方法的描述,其中正确的是____D____。

A.如果子类没有定义构造方法,则子类无构造方法B.子类构造方法必须通过super关键字调用父类的构造方法C.子类必须通过this关键字调用父类的构造方法D.子类无法继承父类的构造方法5.下面关于继承的叙述正确的是___A_____。

(D答案也是对的,但是老师却没给准确答复,所以单选题的话选A,多选的话就选AD)A.在Java中只允许单一继承B.在Java中一个类只能实现一个接口C.在Java中一个类不能同时继承一个类和实现一个接口D.Java的单一继承使代码更可靠6.在Java 中,由Java编译器自动导入,而无需在程序中用import导入的包是___D____。

A.java.appletB.java.awtC.java.utilng7.可以加在下面的不完整程序中”doing the same…”处的是____C____。

class Person{String name, department;int age;public Person (String n) {name=n;}public Person (String n, int a) {name=n; age=a;}public Person (String n, String d, int a) {// doing the same two arguments version of constructor // including assignment name=n, age=adepartment =d;}}A.Person(n,a);B.this(Person(n,a));C.this(n,a);D.this(name,age);8.请看下面程序,第10行调用的printValue是___D_____声明的。

OOP技术:面向对象程序设计期末复习指导

OOP技术:面向对象程序设计期末复习指导

OOP技术:面向对象程序设计期末复习指导面向对象程序设计课程系中央电大开放教育本科计算机科学与技术专业统设必修课程,本课程的期末复习以中央电大下发的资料和网上复习指导为准。

为了加强期末复习,下面市电大给出一套综合练习题,仅作参考。

综合练习题一、单选题1、 C++源程序文件的默认扩展名为( )。

A:cpp B:exe C:obj D:lik2、用new运算符创建一个含10个元素的一维整型数组的正确语句是( )。

A: int *p=new a[10];B: int *p=new float[10];C: int *p=new int[10];D: int *p=new int[10]={1,2,3,4,5}3、假定有“struct BOOK{char title[40]; float price;}; BOOK *book=new BOOK;”,则正确的语句为()。

A: strcpy((*book)->title,”Wang Tao”);B: strcpy(*book.title,”Wang Tao”);C: strcpy(book->title,”Wang Tao”);D: strcpy(book.title,”Wang Tao”);4、假定指针变量p定义为“int *p=new int[30];”,要释放p所指向的动态内存,应使用语句()。

A: delete p;B: delete *p;C: delete &p;D: delete []p;5、关于消息,下列说法中不正确的是()。

A: 发送消息的对象请求服务,接受消息的对象提供服务B: 消息的发送者必须了解消息的接收者如何相应消息C: 在C++中,消息的发送具体体现为对接收消息的对象的某个函数的调用D: 每个对象只能接收某些特定格式的消息6、对于任一个类,用户所能定义的析构函数的个数至多为( )。

A: 0 B: 1 C: 2 D: 任意个7、 do语句能够改写为()语句。

JAVA语言与面向对象程序设计期末复习题

JAVA语言与面向对象程序设计期末复习题

JAVA语言与面向对象程序设计期末复习题2011年上(一)单项选择题(二) 1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。

A. 颜色B. 动态C. 状态D. 重量2.使用JDK编译ja v a程序时使用的命令是()。

A. javaB. javacC. appletviewerD. javadoc3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符()。

A. privateB. protectedC. publicD. static4.在类的定义中,若需要把一个标识符定义为常量,则使用的修饰符为()。

A. constB. finalC. staticD. class5.在程序中声明包的语句关键字为()。

A. volatileB. packC. importD. package6.在一个方法的方法头(声明)中向调用它的上一层方法抛出异常的子句关键字为()。

A. catchB. throwC. throwsD. finally7.在类定义首部的语法格式中,()不能作为其中的修饰符。

A. publicB. protectdC. extendsD. abstract8.下列哪个类不是异常类的父类?()。

A. ErrorB. ThrowableC. ExceptionD. Object9.下面的关键字()与异常处理无关。

A. throwB. throwsC. importD. finally10.在读字节文件Employee.dat 时,使用该文件作为参数的类是()。

A. BufferedReaderB. DataInputStreamC. DataOutputStreamD. FileInputStream(二)填空题1.Java类库也称为Java API,它是Application Programming Interface的缩写,中文含义为________。

2.Java语言中用于修饰类的成员具有保护或私有访问属性的关键字分别为________和________。

面向对象的C++理论与实践 复习题

面向对象的C++理论与实践 复习题

复习题一、全面复习课程内容和所有平时布置的作业、课堂讲过的例题二、练习下列题型示例。

要求掌握各种基本概念和基本原理,学会灵活应用。

1、简要回答下列问题(1)什么是面向对象的程序设计?(2)什么是对象?它有哪些特征?什么是类?对象与类的关系是什么?(3)什么是消息?如何区分公有消息与私有消息?消息具有什么性质?(4)什么是多态性?在面向对象系统中多态性表现在哪些方面?(5)什么是继承性?继承的作用是什么?(6)C++是如何实现数据封装和信息隐藏的?若类间具有继承关系,则它们之间具有什么特征?(7)为什么要引入构造函数和析构函数?它们各有什么特性?(8)this指针的主要作用是什么?静态成员有哪些特性?(9)使用内部(内置)函数的优点是什么?(10)假设在程序中已经声明了类point,并建立了其对象p1和p4。

请回答以下几个语句有什么区别?①point p2,p3; ②point p2=p1; ③point p2(p1); ④p4=p1;(11)友元函数有什么作用?(12)用成员函数重载运算符和用友元重载运算符,在定义和使用上有什么不同?(13)什么是重载?函数重载有几种表现形式?(14)为什么要引入引用概念,在程序设计中它经常被用在什么场合?(15)简述引用与指针的异同。

(16)派生有几种方式,每种方式中派生类对基类成员的继承性如何?(17)派生类构造函数和析构函数的构造规则是什么?执行顺序怎样?(18)什么是多继承?多继承时,构造函数和析构函数执行顺序是怎样的?(19)在C++中的何种情况下要引入虚基类?虚基类的构造函数的调用顺序是如何规定的?(20)保护段成员与公有段成员有何差别?在派生类中如何继承?(21)什么是虚函数?函数重载与虚函数有哪些异同?(22)什么是纯虚函数?什么是抽象类?(23)在什么情况下要引入抽象类?抽象类有什么特点?(24)什么是多重继承的名字冲突?怎样解决多重继承的名字冲突?(25)C++中多态性体现在哪几方面?(26)为什么使用模板?函数模板声明的一般形式是什么?(27)函数模板与同名的非模板函数重载时,调用的顺序是怎样的?2、填空(1)面向对象的程序设计具有等特征。

Java程序设计基础期末复习指导

Java程序设计基础期末复习指导

Java程序设计基础期末复习指导Ⅰ复习要求第1章程序设计概述1.掌握程序设计语言的分类2.掌握面向对象中的基本概念3.掌握建立Java运行环境练习题P10 1.第二章Java语言基础1.掌握变量、各种运算符的功能和用法2.掌握运算符的优先级3.理解程序源代码课本例题2.4 2.5 2.6 2.8练习题P28 3. 4. 5. 6.第三章流程控制1.掌握选择结构并熟练应用2.掌握循环结构并熟练应用例题:3.2 3.3 3.5 3.7练习题:P42 1. 3第四章方法1.掌握方法的概念和作用2.掌握方法的定义3.掌握参数传递与返回值例题: 4.1 4.2 4.4 4.6 4.7练习题P56 1. 2. 3.第五章类与对象1.掌握类的定义2.掌握类的实例化3.掌握Java Application的基本结构例题: 5.1 5.3 5.6 5.7 5.12练习题:P80 1. 2.第六章继承与多态1.掌握继承关系2.掌握属性、方法在继承中的特点3.掌握接口的作用、定义和实现例题:6.1 6.3练习题:P111 1. 2.第七章例外处理1.掌握例外机制2.了解Java定义的例外类练习题:P138 1.第八章Java基本类库介绍1.了解包的概念2.了解ng中的几个基本类练习题:P159 1.第九章Java的集合类1.了解集合类与普通数组的区别2.了解集合类的特点及适用条件练习题:P184 1.第十章输入输出系统1.掌握输入输出的总体结构2.掌握流的概念3.能构建不同的流例题:10.8练习题:P211 1.第11、12、13章内容只做了解,不在本次考试范围之内。

II样题一、选择题(每小题2分,共60分)1.算法的主运算如下,其中i的初值为1,s的初值为0,“←”为赋值号。

while i<n do{for j←1 to n dos←s+a[i,j]i←i*2;则该算法的时间复杂度为()A.O(2n) B.O(n+log2n)C. O ( n log2n)D.O(n2)2. 下面关于数据结构的叙述中,正确的叙述为()A.顺序存储方式和优点是存储密度大,且插入、删除运算效率高B.链表中的每一个结点都包含好一个指针C.包含n个结点的二叉排序树的最大检索长度为log2nD.将一棵树转换为二叉树后,根结点没有右子树3.下面列出的数据管理技术发展的三个阶段中,哪个(些)阶段没有专门的软件数据进行管理()I.工管理阶II.文件系统阶段III.数据库阶段A.只有I B.IIC.I,II D.II,III4.数据库的三级模式结构由模式、模式和内模式组成,它适合于哪个(些)类型的数据库()I.关系型数据库II.层次型数据库III.网状型数据库A.只有IB.I和IIC.II和IIID.都适合5.提高模块的__,使得当修改或维护模块时,可减少把一个模块的错误扩散到其他模块中去的机会。

JAVA语言与面向对象程序设计课程复习考试试题及答案A

JAVA语言与面向对象程序设计课程复习考试试题及答案A

《JAVA语言与面向对象程序设计》复习纲要A一、单项选择题1. Java application中的主类需包含main方法,以下哪项是main方法的正确形参?()A、String argsB、String args[]C、Char argD、StringBuffer args[]2.下列的哪个选项可以正确用以表示八进制值8?()。

A、0x8B、0x10C、08D、0103. 设 int x=1,float y=2,则表达式 x / y的值是()。

A、0B、1C、2D、以上都不是4. 若有定义:byte[] x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是()。

A、x[5-3]B、x[k]C、x[k+5]D、x[0]5. Java Applet在被浏览器加载的时候首先被执行且在applet整个生命周期中只被运行一次的方法是()。

A、init()B、start()C、opreationcrawl()D、reader()6. 在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行?()A、init()B、start()C、destroy()D、stop()7. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序特性称为()。

A、隐藏B、重写C、重载D、Java不支持此特性8. 以下有关构造方法的说法,正确的是()。

A、一个类的构造方法可以有多个B、构造方法在类定义时被调用C、构造方法只能由对象中的其它方法调用D、构造方法可以和类同名,也可以和类名不同9. 以下for循环的执行次数是()。

for(int x=0;(x==0)&(x>4);x++);A、无限次B、一次也不执行C、执行4次D、执行3次10. 下面类定义中哪一个给出了合法的抽象类的定义?()A、abstract Animal {abstract void growl();};B、class abstract Animal {abstract void growl();};C、abstract class Animal {abstract void growl();};D、abstract class Animal {abstract void growl() {System.out.println("growl");}}二、多项选择题1.Java中main()函数的值是什么?()A、StringB、intC、charD、void2.下面哪句话是正确的?()A、>> 是算术右移操作符B、>> 是逻辑右移操作符C、>>> 是算术右移操作符D、>>> 是逻辑右移操作符3. 下面哪个赋值语句是合法的?()A、float a = 2.0B、double b = 2.0C、int c = 2D、long d = 24. 已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 };下面哪个表达式的值与数组下标量总数相等?()A、m.length()B、m.lengthC、m.length()+1D、m.length+15. 下列关于静态初始化器的叙述中,哪一个是正确的?()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一选择题1.下面方法定义中,正确的是:A)int x(int a,b){return a-b;}B)double x(int a,int b){int w;w=a-b;}C)double x(a,b){return b;}D)int x(int a,int b){return a-b;}2.下面方法定义中,不正确的是:A)float x(int a,int b){return a-b;}B)int x(int a,int b){return a-b;}C)int x(int a,int b){return a*b;}D)int x(int a,int b){return 1.2*(a-b);}3下面方法定义中,正确的是:A)int x(){char ch='a';return (int)ch;}B)void x(){return true;}C)int x(){return true;}D)int x(int a,b){return a-b;}4设X 、Y 均为已定义的类名,下列声明类X的对象x1的语句中正确的是?X x1=new X(); B)X x1= X ( );C)X x1=new Y( ); D)int X x1;5设A为已定义的类名,下列声明并创建A 类的对象a的语句中正确的是?A)A a=new A( ); B)public A a=A( );B)C)A a=new class( ); D)a A;6下面类的定义中结构正确的是?A)class A B)class 2A C)int class A D)public class A ()7下面关于类的结构的说法正确的是?A)类只能包含一个构造方法B)类可以没有属性C)类只能包含方法D)类只能包含属性8下面哪个关键字在定义类头时用不到?A)class B)public C)extends D)int339 this在程序中代表的是?A)类的对象B)属性C)方法D)父类10下列对构造方法的调用方式的描述中正确的是?A)使用new调用B)使用类名调用C)使用对象名调用D)调用方法为对象名.方法名()11 以下关于构造函数的描述错误的是?A)构造函数的返回类型只能是void型B)构造函数是类的一种特殊函数,它的方法名必须与类名相同C)构造函数的主要作用是完成对类的对象的初始化工作D)一般在创建新对象时,系统会调用构造函数12下列构造方法的调用方式中,正确的A)按照一般方法调用B)由用户直接调用C)只能通过new自动调用D)不用调用,自动执行13有一个类A,以下为其构造方法的声明,其中正确的是?A) v oid A(int x)B)A(int x)C)a(int x)D)void a(int x)14设i , j为类X中定义的int型变量名,下列X类的构造方法中不正确的是( )。

A) void X(int k ){ i=k; }B) X(int k ){ i=k; }C) X(int m, int n ){ i=m; j=n; }D) X( ){i=0;j=0; }15.有一个类A,以下为其构造方法的声明,其中正确的是( )。

A)public A(int x){...}B)static A(int x){...}C)public a(int x){...} D)void A(int x){...}16.下面关于get和set方法的叙述,正确的是()A)两个方法一般都有返回值B)两个方法一般都没有返回值C)get方法一般有返回值D)set方法一般有返回值二填空:1.下面程序的功能是通过调用方法max()求给定的三个数的最大值,请将其补充完整。

public class Class1{public static void main( String args[] ) {int i1=1234,i2=456,i3=-987;int MaxValue;MaxValue=max(i1,i2,i3)_;System.out.println("三个数的最大值:"+MaxValue);}public ___static____ int max(int x,int y,int z){ int temp1,max_value;temp1=x>y?x:y;max_value=temp1>z?temp1:z;return max_value;}}2. 创建一个Dog类,此类中包括1个姓名属性name。

在main方法中创建Dog类的对象d,并设置其姓名为“XiaoBai”。

public class Dog {String name;public static void main(String[] args){____Dog d=new Dog();_____________________=”XiaoBai”;____________________ }3.创建一个Telephone类,属性有电话号码number,还有2个构造方法,其中一个没有参数,一个带参数。

public class Telephone {String number;_Telephone()_{number="2";}Telephone(String number){____this.number_=_number;_______}4.创建一个Employee类,属性有员工姓名name,还有2个构造方法,其中一个没有参数,一个带参数。

public class Employee {String name;_Employee ()_{name=”LiuYang”;}Employee (String name){__=name;____}三.程序阅读题(1)下列程序的输出结果是什么?public class Foo{static int i=0;static int j=0;public static void main(String[] args) {int i=2;int k=3;{int j=3;System.out.println(“i + j is ”+ i + j);}k = i +j;System.out.println(“k is ”+k);System.out.println(“j is ”+ j);}}(2)下面代码是否正确?如果正确,运行后输出什么?否则请解释出现错误的原因?1 public class Test {2 public static void main(String args[]) {3 MyClass a = new MyClass(3);4 int b=1;5 add(a,b);6 System.out.println("a is "+ a.v +"; b is " + b);7 }8 static void add (MyClass a , int b) {9 b++;10 a.v=b;11 }12 }13 class MyClass{14 int v ;15 MyClass(int v){ this.v = v; }16 }(3)下面代码是否正确?如果正确,运行后输出什么?否则请解释出现错误的原因?//这是Test1.java程序1 package test1;2 public class Test1 {3 public static int x = 42;4 }1 package test2;2 import test1.Test1;3 public class Test2 {4 public static void main(String[] args) {5 System.out.println("x = " + Test1.x);6 }7 }四编程题:1.创建类Student,属性有平时成绩(pingshi),期末成绩(qimo);带参数的构造方法,方法有计算并输出总成绩的方法calculateScore(),计算方式为:总成绩=平时成绩+期末成绩的1/2;创建测试类,创建Student对象s,然后调用calculateScore()方法来输出总成绩。

2、定义一个图书类Book,要求如下:(a)属性包括:书名name(String类型)、作者author (String类型),单价price(double类型),数量amount (int类型),并且所有属性为私有。

(b)提供一个为书名name、作者author、单价price 和数量amount指定初值的构造方法。

(c)为私有属性提供访问器方法,但要求书名和作者一旦初始化后不能更改。

(d)提供计算图书总价的方法totalPrice方法,图书总价=单价×数量定义测试类BookTest,在其main方法中创建一个书名为“Java”、作者为“张三”,单价为30,数量为2000的图书。

并计算输出该图书的总价。

3.编写一个类Teacher,描述教师的课时数量和课时系数,均为double类型。

所有教师的课时系数相同。

Teacher类有一个初始化课时数量的构造方法,一个计算课时当量的courseCompute方法(课时当量=课时量*系数),返回值类型为double。

1)编写一个测试类进行测试。

创建两个教师对象,课时量分别为96和64,教师的课时系数为1.2,输出两位老师的课时当量。

2)在上题中的Teacher类中添加一个int型的静态属性num(初始值为0),用来统计创建教师对象的个数。

修改上述程序,当创建多个教师对象时,能够在控制台打印输出创建教师对象的人数。

相关文档
最新文档