精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Java>>新手上路>>小笨熊Java教程>>小笨熊Java教程(3)

主题:小笨熊Java教程(3)
发信人: biubiu()
整理人: biubiu(1999-08-14 22:24:49), 站内信件
什么是类

    在现实生活中,你常常需要许多相同类型的对象。比如说,你的自行车
就是世界上无数自行车中的一个。用面向对象的术语来说,你的自行车就是
众所周知的自行车这个类的一个实例。自行车都有状态和行为,但是每个
自行车的状态是独立的,区别于其他的自行车。
    当制造自行车的时候,厂家就利用自行车所具有的特征为蓝图制造出
无数的自行车。如果他们为每一辆自行车单独设计图纸,那将是十分低效的。
    在面向对象的软件中,会有许多的具有相同特征的对象:几个矩形,
公司雇员的信息等。就像自行车生产厂家一样,你可以利用它们是相同类别
和彼此相似的事实为这些对象设计一个蓝图。对象的软件“蓝图“被称为类。

类的定义:
    类就是定义变量和方法的蓝图或原型,这些变量和方法是某种类别的
许多对象所共有的。

    比如,你可以建立一个声明了几个实例变量(像当前档位,齿轮转动
频率)的自行车类。你也可以为这个类声明和实现几个实例方法,来允许汽车
的人改变档位,齿轮转动频率和刹车。
    实例变量的值是由类的每个实例各自赋值的。因此,建立了自行车类
之后,你必须先进行实例化(产生类的实例)才能使用。当你产生类的实例
时,你实际上时建立了那种类型的一个对象(别忘了,类也是一种数据
类型),系统并为这个类声明的实例变量分配了内存。然后,你就可以调用
对象的实例方法做一些事情。同一个类的不同实例,它们的实例方法是同一个
(方法的实现并不是每个对象复制一个,而是共用类的方法的实现)。
    除了实例变量和实例方法以外,类还可以定义类变量和类方法。你可以
通过类的实例来存取类变量和类方法,你也可以通过类直接访问类变量和
类方法―――也就是说,你可以不必对类进行实例化,就可以直接访问类变量
和类方法。需要注意的是,类方法只能访问类变量,而不能访问类实例的变量。

因为,一个类可能有很多实例,而各个实例的实例变量的值是各不相同的。
    系统在第一次遇到类时(即类的声明),为类的所有类变量和类方法产生
一份单独的拷贝。类的所有实例共享类的类变量。例如,假设所有的自行车
都具有相同数目的档位。在这种情况下,定义实例变量来存储档位的数目是
低效的。每个实例都有一份这个变量的拷贝,但它们的值是相同的。因此,
这种情形下,你应定义一个类变量来存储档位的数目。所有该类的实例共享
该变量。如果一个对象改变了这个变量,它就为这个类的所有对象改变了这个
变量的值。

类的优势:
  对象提供了模块性和封装性的好处。而类则提供了重用性的好处。自行车
制造厂商利用相同的设计图一遍又一遍的生产出无数自行车。软件开发者使用
相同的类,也就是相同的代码,反复生成许多变量。

--
未经同意,请勿转载。
原文可到http://www.java.com下载。

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.101.163.150]

[关闭][返回]