- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java语言程序设计(郑莉)
第二章习题答案
1.什么是对象、类,它们之间的联系?
答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。
2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!
3) 两者的关系:对象是类的具体实例.。
4.请解释类属性、实例属性及其区别。
答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。
5.请解释类方法、实例属性及其区别。
答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。
类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。
区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法;
6.类的访问控制符有哪几种?具体含义及其区别。
答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。
区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。
7类成员的访问控制符有哪几种?他们对类成员分别有哪些访问限制的作用?
答:
类成员的访问控制符有 public,private,protecte及无修饰符.
public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限).
Private(保护的):类中限定为private的成员只能被这个类本身访问,在类外不可见。
proteced(保护的)用该关键字修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。
无修饰符(默认的):public,private,protected这个三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。
8简述构造方法的特点?
答:
构造方法主要有以下特点:
(1) 构造方法的方法名与类名相同;
(2) 构造方法没有返回类型(修饰符void也不能有);
(3) 构造方法通常被声明为公有的(public);
(4) 构造方法可以有任意多个参数;
(5) 构造方法的主要作用是完成对象的初始化工作;
(6) 构造方法不能在程序中显式的调用;
(7) 在生成一个对象时,系统会自动调用该类的构造方法为新生成的对象初始化。
9如果在类声明中声明了构造方法,系统是否还提供默认的构造方法?
答:
用户在进行类声明时,如果没有声明任何构造方法,系统会赋给此类一个默认(无参)的构造方法。但是,只要用户声明了构造方法,即使没有声明无参的构造方法,系统也不会再赋默认的构造方法。
11:声明并测试一个复数类,其方法包括toString()及复数的加、减、乘运算。
答:public class Complex
{
private float a;
private float b;
public String toString()
{if(a!=0)
return(a+i+++b);
else return(+b);
}
public Complex(float a,float b)
{
this.a=a;
this.b=b;
}
public void Add(Complex p)
{
this.a+=p.a;
this.b+=p.b;
}
public void Decrease(Complex p)
{
this.a-=p.a;
this.b-=p.b;
}
public void Multiply(Complex p)
{
this.a=this.a*p.a;
this.b=this.b*p.b;
}
}
public class ComplexTexter
{
public static void main(String args[])
{
Complex a=new Complex(2,4);
Complex b=new Complex(5,8);
a.Add(b);System.out.println(a.toString()+\n);
a.Decrease(b);System.out.println(a.toString()+\n);
a.Multiply(b);System.out.println(a.toStri
文档评论(0)