加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

类与对象的区别

(2007-05-31 18:13:58)
 
JAVA 学习总结
 
一、类与对象的区别:
 
1、类是对某一类事物的描述,是抽象的;
   而对象是一个实实在在的个体,是类的一个实例。
   比如:“人”是一个类,而“教师”则是“人”的一个实例。
 
2、对象是函数、变量的集合体;
   而类是一组函数和变量的集合体,
   即类是一组具有相同属性的对象集合体。
 
3、UML的类图和对象图之间的区别是:
   类图中类名首字母大写,对象图中的对象名首字母小写。
   对象名下有一条下划线,而类名没有。 
 
4、类的数据值是共享的,一个实例能访问它所属类的类数据值;
   而实例数据属于单个对象,除共享了所在类中的数据外,
   不同对象还会有不同的数据值。
 
5、先有类,才有类的实例——对象。
   应用在:当你在创建某个类的实例(对象)之前,这个类必须被定义。
 
6、实例方法和类方法的区别在于:
   实例方法属于单个对象,类方法属于类。
 
二、静态方法与非静态方法的区别:
 
1、静态方法隶属于类,既可通过对象来调用,亦可通过类名来调用;
   非静态方法则只可以通过对象来调用。
 
2、static的Method and attribute 只能是对类而言,
   而non-static 的,是对于对象而言的。
  
3、两者在系统分配内存的时候也是不同的:
   前者是用栈分配内存,速度快,是在类第一次载入的时候初始化。
   后者是用堆分配内存,速度慢些,是在对象初始化的时候,伴随着初始化的。
 
4、所谓静态变量或方法, 就是以static修饰的变量或方法, 如static int count;
   它的意义是让系统分配一个静态空间给这个变量count, 那么包含这个变量的类
   的全部实例就会共用这个变量, 任何一个改变了count都会对其余的实例产生影
   响, 它是在文件编绎时就被初始化的, 比一切其它non-static 变量都要早;

   而non-static 变量就是每一个类实例都有自己的count, 任何实例的改变都不会
   影响到其它的实例的count(也就是分配了各自的空间), 它们是第一次使用的时
   候才被初始化的;

   static 和non-static 的方法的区别也是差不多的, 只是一点要注注意的就是
   static 成员(变量或方法), 只能调用static 成员, 而不能调用non-static
   成员。 
 
三、方法、函数、消息、变量、属性之间的关系。
 
1、方法就是对象的行为,即函数;
 
2、消息也是调用某个对象的函数,即方法。
   
3、变量就是对象的状态,即属性。
 
四、继承
 
    被继承的类叫超类(superclass ),继承超类的类叫子类(subclass )。
 
    子类是超类的一个专门用途的版本,它继承了超类定义的所有实例变量和方法,并且为它自己增添了独特的元素。
    在继承关系当中,一个子类能够从它的超类当中继承所有的东西,子类能够吸收现有类的数据和方法。
 
    通过继承,子类不仅仅展示了其超类的行为和特征,而且还展示了特定于自身的行为和特征。
   
五、软件生命周期中的五个主要的步骤:
 
    分析、设计、编码、测试、操作。
 
 
                                            2007年05月31日
  

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有