Java并发编程实践课程习题与答案(1-5章部分)_第一部分:Java面向对象.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Java并发编程实践课程习题与答案(1-5章部分)_第一部分:Java面向对象.doc》由会员分享,可在线阅读,更多相关《Java并发编程实践课程习题与答案(1-5章部分)_第一部分:Java面向对象.doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java并发编程实践课程习题与答案 Java语言概述1、Java源程序是由什么组成的?一个程序中必须有public类吗?Java源文件的命名有什么规定?2、应用程序和小应用程序的主要区别是什么?3、开发与运行应用程序需要经过哪些主要步骤和过程?4、安装JDK之后如何设置JDK系统的PATH,CLASSPATH?他们的作用是什么?5、Java语言特点是什么?6、分别用JDK、GEL和Eclipse编写能输出“Hello World!”的Java应用程序。 Java面向对象程序设计基础1、什么是类?什么是对象?对象和类是什么关系?2、什么是方法?结构方法和一般方法有什么区别?设计方法应考虑哪些因素
2、?3、为什么要将类进行封装,封装的原则是什么?4、创建一个有两个方法的类,要求其中第一个方法两次调用第二个方法,第一次不使用this,第二个使用this。5、要求设计一个矩形类Rectangle,要求实现构造方法的多态。并利用这些构造方法实例化不同的对象,并输出相应的信息。6、计算出Fibinacii 序列的前n项,n的值要求从命令行输入。Fibinacii 序列的前两项是1,后续每项的值都是该项的前两项之和。即 F(n)=F(n-1)+F(n-2) F(1)=F(2)=1;7、 什么是继承?什么是父类?什么是子类?继承的特性可给面向对象编程带来什么好处?什么是单重继承?什么是多重继承?8、“
3、子类的成员变量和成员方法的数目一定大于等于父类的成员变量和成员方法的数目”,这种说法是否正确?为什么?9、什么是方法的覆盖?方法的覆盖与域的隐藏有何不同?与方法的重载有何不同?10、什么是多态?面向对象程序设计为什么要引人多态的特性?使用多态有什么优点?11、父类对象与子类对象相互转化的条件是什么?如何实现它们的相互转化?12、一个类如何实现接口?实现某接口的类是否一定要重载该接口中的所有抽象方法?13、编写求解几何图形(如直线、三角形,矩型,圆,多边型)的周长,面积的应用程序,要求用到继承和接口等技术。14、编写求解一元多次方程(如一元一次,一元二次,一元高次方程)的解。15、找出以下代码有
4、错误的部分 public int searchAccount(int number25) number =new int15; for(int i=0;iProject。当 New Project 对话框出现时,选择左面的 Java。标准 Eclipse 只有一种 Java 项目类型,名为“Java Project”。选择 Java Project,在提示项目名称时输入“Hello”,然后按 Finish。右键单击“Hello”项目,选择 New=Class,如图 2 所示。在随后出现的对话框中,键入“Hello”作为类名称。在“Which method stubs would you lik
5、e to create?”下面,选中“public static void main(String args)”复选框,然后按 Finish。图 2. 在 Java 透视图中创建新类这样将在编辑器区域创建一个包含 Hello 类和空的 main() 方法的 .java 文件,如图 3 所示。然后向该方法添加如下代码 一旦代码无错误地编译完成,就能够从 Eclipse 菜单上选择 Run 来执行该程序。这时会出现一个具有适当默认设置的 Launch Configurations 对话框;请按右上角的 Run 按钮。一个新的选项卡式窗格将出现在下面的窗格(控制台)中,其中显示了程序的输出。1、什么
6、是类?什么是对象?对象和类是什么关系?答:类是抽取了同类对象的共同属性和行为形成的对象或实体的“模板”。 对象是现实世界中实体的描述,是其自身所具有的状态特征及可以对这些状态施加的操作结合在一起所构成的独立实体。类和对象之间的关系是抽象和具体的关系:类表达的是一种抽象的概念,它描述了该类对象的共同特征;而对象是具体事物,以类为模板来生成,它具有自己的状态。举例:类与对象的关系犹如零件的图纸与按图纸制造出的零件关系一样;图纸(类)描述了零件(对象)的共同特征,每个零件(对象)又有自己的个性,如加工精度的不同等等2、什么是方法?方法的结构是怎样的?设计方法应考虑哪些因素?答:方法是Java类的一个
7、组成部分,通过类的方法改变对象的状态。 方法的结构:方法修饰符 返回值类型 方法名(形参列表)throws异常列表 方法体; 设计方法应考虑因素有:(1) 方法名是Java中任意的标识符,按照命名的约定,方法名应该是有意义的动词或动词短语,它的第一个字母一般要小写,其他有意义的单词的首字母要大写,其余字母小写。 (2) 返回值类型可以是任意的Java类型,甚至可以是定义此方法的类。如果方法没有返回值,则用void表示。 (3) 形式参数列表是可选的。如果方法没有形式参数,就用一对小括号“()”表示。形式参数列表的形式如下: (类型 形参名,类型 形参名,) (4) throws异常列表规定了在
8、方法执行中可能导致的异常。3、创建一个有两个方法的类,要求其中第一个方法两次调用第二个方法,第一次不使用this,第二个使用this。答:class Rectangle /矩形类 int width; / 矩形的宽 int usethis(int width) /返回宽度的函数 this. width= width; /指自己这个对象 return width; int unusethis(int width) int w=width; return w; public static void main(String args) Rectangle r=new Rectangle(); /类对
9、象的实例化 System.out.println(It is about the node of this.); /输出语句 System.out.println(r.usethis(1); System.out.println(r.unusethis(2); 运行结果: It is about the node of this. 1 2 4、要求设计一个矩形类Rectangle,其中含有多个构造方法。利用这些构造方法实例化不同的对象,并输出相应的信息。答:import java.io.*; class Rectangle /矩形类 private int width; /矩形的宽度 priv
10、ate int length; /矩形的长度 Rectangle() /矩形的不带参数的构造函数,缺省的给出长(30)和宽(20) length=30;width=20; Rectangle(int l,int w) /矩形的带参数的构造函数 length=l;width=w; Rectangle(Rectangle r) /此构造方法以另一个Rectangle作为参数 width=r.width(); /通过对象调用函数并附值给相应变量 length=r.length(); int width() /返回宽度 return width; int length() /返回长度 return l
11、ength; public class CRctngle public static void main (String args ) Rectangle x1=new Rectangle(); /声明类的对象并实例化 Rectangle x2=new Rectangle(50,40); /声明类的对象并初始化 Rectangle x3=new Rectangle(x1); System.out.println(x1.length(); System.out.println(x1.width(); System.out.println(x2.length(); System.out.print
12、ln(x2.width(); System.out.println(x3.length(); System.out.println(x3.width(); 运行结果:302050403020体会:此程序中共定义了3个构造方法:Rectangle()、Rectangle(int l,int w) 、Rectangle(Rectangle r) ,其中Rectangle()是没有参数的,Rectangle(int l,int w)以常数作为参数,Rectangle(Rectangle r)是以对象最为参数。构造函数调用时在用new运算符创建类对象是由系统自动完成的,构造函数的参数传递和形实结合也是
13、由系统在调用的同时自动完成。5、计算出Fibinacii 序列的前10项,Fibinacii 序列的前两项是1,后续每项的值都是该项的前两项之和。即 F(n)=F(n-1)+F(n-2) F(1)=F(2)=1;答:class Fibi public long fibinacii(int n) long c=0;if(n=1|n=2)c=1;elsec=fibinacii(n-1)+fibinacii(n-2);return c;public class Example4_5 public static void main(String args) Fibi a=new Fibi();for(
14、int i=1;i=10;i+) System.out.print( +a.fibinacii(i);6、 什么是继承?什么是父类?什么是子类?继承的特性可给面向对象编程带来什么好处?什么是单重继承?什么是多重继承? 解:继承是面向对象程序设计中两个类之间的一种关系。当一个类获取另一个类中所有非私有的数据和操作的定义作为它自己的部分或全部成分时,就称这两个类之间具有继承关系。被继承的类称为父类或超类,继承了父类或超类的所有数据和操作的类称为子类。 面向对象程序设计中的继承,可使得程序结构更加清晰,降低了编码和维护的工作量。 如果一个类只能有一个父类,则这种继承关系称为单重继承;如果一个类可以有
15、多个父类,则这种继承关系称为多重继承。7、 “子类的域和方法的数目一定大于等于父类的域和方法的数目”,这种说法是否 正确?为什么? 解:这种说法是错误的,因为子类不一定能继承父类的所有域和方法,它只能继承所 有非私有的域和方法。如果子类在继承之外自己定义的域和方法数目小于父类中私有成 员的数目,则子类的域和方法的数目小于父类的域和方法的数目。8、什么是方法的覆盖?方法的覆盖与域的隐藏有何不同?与方法的重载有何不同? 解;子类重新定义父类中已经存在的方法,称为方法的覆盖。注意:方法覆盖与域的隐藏不同。子类重新定义父类已有的域,并不能完全取代它从父类那里继承的同名的域,这个域仍然占用子类的内存空间
16、,在某些情况下会被使用;而当子类重新定义父类的方法时,从父类那里继承来的方法将被新方法完全取代,不再在子类的内存空间中占一席之地。 与方法的覆盖不同,重载不是子类对父类同名方法的重新定义,而是在一个类中定义了同名的不同方法。9、 什么是多态?面向对象程序设计为什么要引人多态的特性?使用多态有什么优点? 解:一个类中存在多个同名的方法,称为多态。把抽象功能和目的相同,而具体实现因不同情况而异的方法命名为同名方法,符合面向对象程序设计中抽象、提升概念,封装、隐藏细节的特点,从而提高了程序的简洁性和可读性,降低了类和程序模块直接的相互耦合和依赖。10、 父类对象与子类对象相互转化的条件是什么?如何实
17、现它们的相互转化? 解:一个子类对象也可以被合法地视为一个父类的对象,即一个父类对象的引用,其指向的内存单元可能实际上是一个子类的对象。在这种情况下,可以使用强制类型转换,将父类对象的引用转换成实际的子类对象的引用11、 一个类如何实现接口?实现某接口的类是否一定要重载该接口中的所有抽象方法? 解:使用关键字implements可以定义类实现某接口。实现某接口的类如果不是抽象类,则需要通过重载来实现该接口中的所有抽象方法;如果这个类是抽象类,则它可以不必实现该接口中的所有抽象方法。 13、编写求解几何图形(如直线、三角形,矩型,圆,多边型)的周长,面积的应用程序,要求用到继承和接口等技术。解:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 并发 编程 实践 课程 习题 答案 部分 第一 面向 对象
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内