java第二版第二章答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java iSW程序设il•(郑莉)
第二章习题答案
1.什么是对象、类,它们之间的联系
答:1)对象是包含现实世界物体特征的捕象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象二数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体:在程序中对象是指一组变量和相关方法的集合。
2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!
3)两者的关系:对象是类的具体实例
2.什么是而向对象的程序设计方法它有那些基本特征
答:而向对象程序设计从所处理的数据入手,以数抵为中心而不是以服务为中心来描述系统。
它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳世性。
它的特征:抽象,封装,继承,多态。
3.在下而的应用中,找出可能用到的对象,对毎一个对象,列出可能的状态和行为。
1)模拟航空预订系统交易的程序
2)模拟银行交易的程序
答:1)航空预订交易:
状态:旅客姓名,身份证号,联系号码,出发地址,抵达地址,出发日期。
行为:订票,领票,买票,退票。
2)银行交易:
状态:客户姓名,账号,身份证号。
行为:存款,取款,『款。
4.请解释类属性、实例属性及其区别。
答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。
5.请解释类方法、实例属性及其区别。
答:实例方法表示特定对象的行为,在声明时前而不加static修饰符,在使用时需要发送给一个类实例。
类方法也称为静态方法,在方法声明时前而需加static修饰符,类方法表示具体实例中类对象的共有行为。
区别:实例方法可以宜接访问实例变量,调用实例方法,实例方法可以直接访问类变量, 调用类方法:类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法:
6.类的访问控制符有哪几种具体含义及其区别。
答:类的访问控制符只有public (公共类)及无修饰符(默认类)两种。
区別:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与
此类处于同一包中的其他类可以使用类。
(330;
7类成员的访问控制符有哪几种他们对类成员分别有哪些访问限制的作用
答:
类成员的访问控制符有public, private, protecte 及无修饰符.
public(公有的):用public 修饰的成分表示公有的,也就是它可以被其他任何对象访问 (前提是对累成员所在的类访问有访问权限).
Private(保护的):类中限追为private 的成员只能被这个类本身访问,在类外不可见。 proteced (保护的)用该关键字修饰的成分是受保护的,只可以被同一类及其子类的实例 对象访问。
无修饰符(默认的):public, private, protected 这个三个限左符不是必须写的。如果 不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问.
构造方法的方法名与类名相同: 构造方法没有返回类型(修饰符void 也不能有): 构造方法通常被声明为公有的(public): 构造方法可以有任意多个参数: 构造方法的主要作用是完成对象的初始化工作: 构造方法不能在程序中显式的调用;
在生成一个对象时,系统会自动调用该类的构造方法为新生成的
对象初始化。
9如果在类声明中声明了构适方法,系统是否还提供默认的构适方法
答:
用户在进行类声明时,如果没有声明任何构造方法,系统会赋给此类一个默认(无参)的 构造方法。但是,只要用户声明了构造方法,即便没有声明无参的构造方法,系统也不会再 賦默认的构造方法。
10:声明Patient 类表示在门诊室中的病人q 此类对象应包括name(a string) \ s e X (a char)、age (an integer) weight (a float 。、allergies (a boolean).
声明存取及修改方法。在一个单独的累中,声明测试方法,并生成两个patient 的例子:
Atlent april=new Patient ();
("zhangli” )
(£ );;
(true);
那么:” +0): ” +0):
+0):
8简述构造方法的特点 答:
构造方法主要有以下特点:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
("weught : +0) ;\
” +());
声明并测试toString ()方法显示一个病人的aga. sex 、name 及allergies 属性。
sex=b;
age=c;
weight=d;
allergies=e :
String getname(){return name : char getsex0 {return sex;} int getage() {return age;}
float getweightO {return weight;} boolean getallergiesO{return allergies;}
class Text
答:
public class Patient
private private private private private public void
String name; char sex;
int age;
float weight : boolean
allergies : setneune
(String a)
name=a: public void setsex(char b)
public void setage (int c)
public void setweight(float d)
public void
setallergies(boolean e)
public public public public public