java语⾔程序设计课后习题答案
Java语⾔程序设计(郑莉)
第⼆章习题答案
1.什么是对象、类,它们之间的联系?
答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能⼒。对象是⼀些属性及服务的封装体,在程序设计领域,可以⽤“对象=数据+作⽤于这些数据上的操作”来表⽰。现实⽣活中对象是指客观世界的实体;在程序中对象是指⼀组变量和相关⽅法的集合。
2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!3)两者的关系:对象是类的具体实例.。
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)构造⽅法可以有任意多个参数;
(6)构造⽅法不能在程序中显式的调⽤;
(7)在⽣成⼀个对象时,系统会⾃动调⽤该类的构造⽅法为新⽣成的对象初始化。
9如果在类声明中声明了构造⽅法,系统是否还提供默认的构造⽅法?
答:
⽤户在进⾏类声明时,如果没有声明任何构造⽅法,系统会赋给此类⼀个默认(⽆参)的构造⽅法。但是,只要⽤户声明了构造⽅法,即使没有声明⽆参的构造⽅法,系统也不会再赋默认的构造⽅法。
10:声明Patient类表⽰在门诊室中的病⼈。此类对象应包括name(astring)\sex(achar)、age(an integer)、weight(a float0、allergies(a boolean).
声明存取及修改⽅法。在⼀个单独的累中,声明测试⽅法,并⽣成两个patient的例⼦:
Atient april=new Patient();
(“zhangli”)
(‘f’);;
(330;
;
(true);
那么:”+());
”+());
”+());
(“weught: ”+());\
”+());
声明并测试toString()⽅法显⽰⼀个病⼈的aga、sex、name及allergies属性。
答:
public class Patient
{
private String name;
private char sex;
private int age;
private float weight;
private boolean allergies;
public void setname(String a)
{
name=a;
}
public void setsex(char b)
{
public void setage(int c)
{
age=c;
}
public void setweight(float d)
{
weight=d;
}
public void setallergies(boolean e)
{
allergies=e;
}
public String getname(){return name;} public char getsex(){return sex;}
public int getage(){return age;}
public float getweight(){return weight;} public boolean getallergies(){return allergies;} }
public class Text
{
public static void main(String args[])
{
Patient april=new Patient(); ("ZhangLi");
('f');
(33);
(154.72f);
(true);
"Name: "+());
"sex: "+());
"age: "+());
"weight: "+());
"allergies: "+());
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)
{
=a;=b;
}
public void Add(Complex p)
{
+=;
+=;
}
public void Decrease(Complex p)
{
=;
=;
}
public void Multiply(Complex p)
{java重写和重载的区别
=*;
=*;
}
}
public class ComplexTexter
{
public static void main(String args[])
Complex a=new Complex(2,4);
Complex b=new Complex(5,8);
(b);"\n");
(b);"\n");
(b);"\n");
}
}
12:什么是UML?它由哪⼏部分组成?
答:
UML是图形化()即可视化的建模语⾔,成为⾯向对象建模的标准语⾔。
它由四部分组成:(1)视图(2)图(3)模型元素(4)通⽤机制
13. 常⽤的类与类之间的关系有哪⼏种。
答:有关联、依赖、流、泛化、实现、使⽤。
14. 考虑学院、系及教员应该具有哪些属性,并画出它们之间关系的类图。
第三章课后习题答案
1.设N为⾃然数:
n!=1*2*3*….*n
称为n的阶乘,并且规定0!=1.试编程计算2!,4!,6!he 10!.并将结果输出到屏幕上。答:
public class Mul
{
public static void main(String args[])
{
int i,n;
float s;
for(n=0;n<=10;n=n+2)
{
if(n==0)
"0!=1\n");
else
{s=1;
for(i=1;i<=n;i++)
s=s*i;
"!="+s+"\n");
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论