当前位置:  技术问答>java相关

有几个概念实在搞不懂!

    来源: 互联网  发布时间:2015-07-12

    本文导语:  有几个概念实在搞不懂!  方法,类,构造器,成员函数到底是什么意思?  是不是一个东西不同叫法,还是互相包含?  还有什么叫实例化,怎么还有可以实例化和不可以实例化? | 这个是...

有几个概念实在搞不懂! 
方法,类,构造器,成员函数到底是什么意思? 
是不是一个东西不同叫法,还是互相包含? 
还有什么叫实例化,怎么还有可以实例化和不可以实例化?

|
这个是我很久前看过的帖子,我认为虽然不够准确,但是的确精彩易懂,下面是几段精彩的解释.

传说中上帝造人是用模子来造的,上帝造人用的模子就是类(Class),当然模子也不是天生的,由上帝根据自己的想象制作,作好了模子以后,造人可就方便啦,几乎不用动脑筋,泥巴往模子里一丢,一个人就出来了,出来了的这个人就有了眼情啦、鼻子啦、耳朵啦,等等,最重要的是,这个人会说话,会唱歌、跳舞...... 
  以上这个例子中,类就是模子,专门用来制作一些有很多共同点的实物,用模子造东西的最大好处就是可以偷懒,一劳永逸,用类来开发软件的妙处也正在于此。模子造出来(对“造出来”这三个字打上着重号,引起读者的注意)的东西有一个响亮的名字:对象或实例,因此,在java里面,我们讲的对象或实例,都是指已经用类制作好了的。用类制作对象这个动作,也有一个各位不太好懂的名字——类的实例化,或叫类的一个实现,好听吗?你们可要记在心里。 
  不知大家是否注意到,我上面说过,上帝用类造出人这种对象具有很多很多的特性,像眼情有大、眉毛有多长、牙齿有几颗、人长得是否靓仔等等叫做对象的属性(Attribute),一个对象视它简单与复杂,属性可以没有一个,也可以有多个。而人会说话、会打架、会谈恋爱……这些涉及到动作的行为叫做对象的能力(Ability),但在JAVA里面叫做对象的方法(Method),假如你的思想被VC化,你把它暂时理解为函数也不是不可以的。 
通常我们讲的“面向对象编程”这种方法,或说这种思想,就是要求大家学习上帝造人这种方式、这种思想,把所有程序分成一个一个的功能块,有些功能块不仅你正在编写的这个程序用得到,将来编写的其它程序也可能用得到,正是你会这么想,把一些通用的功能块抽出来、概括出来,用一个独立的、能被其它类制造时调用的名字命名它。用这种思想去设计程序,叫什么面向对象编程(OOP)。
上贴讲了关于类和对象的一些基本概念,现在我们再来看看类库。 

不知大家是否在制造厂呆过,在深圳,像塑胶制品厂、五金制品厂可多啦。在这些厂里,生产东西有个生死逃不了的工序--工模制造。工模做好后,成了其它产品制造的榜样,应该说“槽”更确切一点。会造工模的比会造JAVA类的吃香。或许,前者造的模子是硬的,摸得着的,给人踏实的感觉,而后者造的JAVA模子(Classes)是软的,给人不实在的感觉。所谓外行看热闹,内行看门道,那些造塑胶、五金模模的工人当然不懂我们用JAVA造的软件模子。然而,硬的模子也好,软的模子也好,它们在管理方面大都相同。会管理JAVA模子的人一定会管理工模,反过来,就不成立了,这点,值得我们搞JAVA的家族骄傲。
制造厂产品制作越多、越久,模子也就越多。很多产品外形大同小异,君不见诺基亚3210和8250的机型,除了后者小一点外,身材基本相同,所以大多产品的工模重复使用的概率很高。为了下次产品开发能够快速找到本次做好的这个模子,对模子进行分门别类分开存放并按名称排列是一种很好的方法。喏,这是诺基亚3210系列的工模柜,放的都是这个系列的模子,还有一些模子说明书、技术资料等。那边是诺基亚8250系列的工模柜,存放的是8250系列的模子以及说明书和技术资料……所有这些工模柜都存放在一个房子里,暂就叫它工模仓库吧。这个工模仓库对工厂来说,用途你瓦大不大?
一个很重要的概念,在工模库里面,有些工模只有同类产品可以借用,有些工模所有产品都可以借用,还有些根本无法借用。JAVA包里面的类也一样,有所有包里面的类都可以用得到的,叫public类;有本包之内的类才可以用得到,叫protect类;还有些类是吃独食的,任何其它类都不准打它主意,这叫自私类(private),更绝的是,大多数类都会生类仔,而有些类是性无能,不会生仔的,这又叫什么类呢?JAVA里面叫性无能类,哦,不不不,叫终止类(final),似乎还有几种类,但我还不知道怎样称呼,问问SUN公司吧!

|
方法就是函数有可以称为api。
类可以这样理解,类是对象的定义,对象是类的实例。
构造器说的直白点就是类的初始化函数。
成员函数就是类里面的方法。

|
所谓实例化就是指new一个对象,也可理解为分配内存.
这些东西可以看看面向对象的书。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • win7, win8安装docker需要了解的概念
  • 操作系统概念问题(虚地址概念)
  • 哈希表及其概念
  • LINUX下有没有线程概念,和WIN下线程概念有什么不同,谢谢.
  • 正向代理与反向代理概念及其区别
  • 概念请教,一定给分,谢谢各位
  • php会话(session)生命周期概念介绍及设置更改和回收
  • 关于socket概念的理解问题!
  • Spring AOP中Pointcut,dvice 和 Advisor三个概念介绍
  • 操作系统概念问题(虚地址概念) iis7站长之家
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 谁能给我详细讲解一下分区,文件系统的概念?
  • 网络接口的概念?
  • 一个最简单的问题:www服务器与web服务器是否一个概念?
  • 刚接触ubuntu ,一些概念有点乱,谁帮我理一下
  • 多任务,多进程,多线程的概念
  • 概念問題
  • 类和对象的概念区别!
  • 在Linux里有没有DLL这个概念?
  • 菜鸟提问:包是什么概念?
  • 哪一位高手能提供关于进程池的完整的概念?30分奉送!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3