“小疙瘩小说网”最新网址:https://www.xgedda.com/,请您添加收藏以便访问
当前位置:小疙瘩小说网 > 其他综合 > 我是90后 > 科技
基于搜索引擎自动抓取技术,源网站:http://b.faloo.com/p/270873/22.html

我是90后 科技(5/7)

章节列表
employee对象都拥有这些方法。但在内存中只有一份*/

  publicvoidheater(){//这个方法是用来加工员工的午餐

  lunch=true;

  }

  publicvoidsetName(Stringa){//这个方法是修改员工的姓名

  name=a;

  }

  publicStringgetName(){//这个方法是得到员工的姓名

  returnname;

  }

  /*但是,实际上在创建jingwei这个对象时计算机只给这个对象的所有的属性分配了内存,而并没有给方法分配内存。方法只有一个,是属于所有的对象的,所以无论创建了多少个对象,计算机只会为一个方法分配一块内存。*/

  我想我还是举个例子吧,不然你非晕倒不可。呵呵!

  看我这条语句“privatebooleanlunch;”公司不管午餐,每个员工都需要带饭。我们现在这样想,公司的空间是所有的内存容量,你的办公桌就是计算机中的内存中的一部分(每个员工都有一份,是在创建对象时分配的)。你把午饭带到了公司,放在了你的办公桌上。“午饭”占据了你的办公桌的一角(占了你自己“对象”的一块内存容量)。这份午饭只属于你自己,同样别人的也只属于她自己!所以每个员工(对象)都需要一快空间(内存)来存放自己的午餐(属性)。在计算机中也是这样的,每创建一个对象,就会在内存中从新分配一块内存来放“午餐——lunch”这个属性(对象所拥有的所有的属性)。

  计算机只会为对象的属性分配内存。因为每个对象的都不一样!就像你往公司带的午饭和我往公司带的午饭不一样是一个道理!但方法就不同了。早晨带的饭中午就凉了,你需要用微波炉来加热。微波炉可不用你带,公司就有(只占公司的一块空间),它放在了午餐桌上。你想想,微波炉属于谁的?它属于所有员工的!因为每个员工都可以用它。而不必每个员工都带一份。由此可见,每个员工(对象)都有一份午饭(属性),但所有的员工(对象)只一个微波炉(方法)。所有的员工(对象)都可以通过这个微波炉(方法)来改变自己午餐(属性)的冷热状态。殊途同归!在计算机中也就是这样,方法只有一份,供所有的对象使用!而属性是每个对象一份,因为每个对象的都不一样。别和我说你还不明白,不然我会撞墙的,呵呵:)

  2.3深入探讨函数:

  2.3.1构造函数、默认构造函数、缺省构造函数

  对于上面的实例,它已经能完成绝大部分工作了,但它还是不完善的,还有许许多多的细节等到我们去完善!也许有的同学已经注意到了,当我创建完“jingwei”这个对象时,这个对象的所有的属性都是空的,也就是说:这个对象的姓名是未定的、年龄是未定的、性别是未定的、薪水是未定的、午餐也是未定的。而我们想把这些属性都添加上去,就还要用对象调用相应的方法,去一个个修改!天啊,这简直是太麻烦了!有没有什么好方法能够在我们创建对象的同时就完成了对属性赋值的操作呢?哦不,应该说是对属性的初始化呢?当然没问题了,这就需要所谓的构造函数!

  构造函数是类中最特殊的函数,它与析构函数的功能正好相反!

  从特征上来说:1.它是编程语言中唯一没有返回值类型的函数。

  2.它的名称与类的名称必须要完全相同。

  3.它必须被声明为公共(public)的类型

  4,可以对构造函数进行重载。

  5.它在创建对象是自动被调用。

  从功能上来说:1.它是对类中的属性进行初始化。

  其实,对于上面的程序来说我们没有自己定义构造函数。但是,在这种情况下,系统会自动为我们定义一个“默认构造函数”。他会把数值变量自动赋值为0,把布尔行变量赋值为false等等(但在C++中,默认构造函数不初始化其成员)。如果程序员定义了构造函数,那么系统就不会再为你的程序添加一个缺默认造函数了。(在这里,我们提倡的是自己定义构造函数,而不是用系统的默认构造函数)

  还是看个实例吧!这样比较清楚一些!

  //employee.java

  publicclassemployee{

  privateStringname;//员工姓名

  privateintage;//员工年龄

  privatecharsex;//员工性别

  privatefloatemolument;//员工薪水

   -->>

章节列表