week9---4月28日

一、复习

对于构造函数重载中,不同种类的分析

例 : RW5-7

week9---4月28日_第1张图片

week9---4月28日_第2张图片

1、静态字段和静态属性

2、一起写一个员工号为静态的员工类吧。



二、新课内容

(一)静态成员

1、静态构造函数

        静态构造函数是名称为类名且没有访问修饰符、也没有参数的特殊静态方法。在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类。

        对于静态字段,可通过提供初始值或使用静态构造函数进行初始化。我们在前面已经看过第一种机制:
                        private static int nextID = 1000;
        如果静态字段需要复杂的初始化代码,那么可以使用静态构造函数。
2、静态方法

         静态方法是不向调用它的对象施加操作的方法。因为静态方法并不操作调用它的对象,所以不能用静态方法来访问实例字段,我们使用“类名.方法名”来调用静态方法,尽管如此,通过对象来调用静态方法也是合法的,不会发生错误。由于静态方法计算或操作的结果与调用它的任何对象都没有关系,用对象调用静态方法很容易让人迷惑,因此要求使用“类名.方法名”来调用静态方法。

         我们在以下两种情况下使用静态方法:

            ▶ 该方法不需要访问对象的状态,其所需的参数都通过显示参数提供(如Math.Pow方法)。
            ▶ 该方法只需要访问类的静态字段。

实例参考:数制转换
week9---4月28日_第3张图片
week9---4月28日_第4张图片


(二)静态成员和实例成员的特征

      类的成员或者是静态成员、或者是实例成员。一般说来,将静态成员看作属于类,而将实例成员看作属于对象(类的实例)。当字段、方法包含static修饰符时,它声明静态成员。

(1)静态成员具有下列特征:

      当在E.M形式的成员访问中引用静态成员时,E必须是成员M的类型。
      一个静态字段只标识一个存储位置。无论创建了多少个类实例,永远都只有静态字段的一个副本。
      静态方法不在某个特定实例上操作,在这样的方法中引用this是错误的。
      当字段、方法、构造函数声明不包含static修饰符时,它声明实例成员(实例成员有时称为非静态成员)。
(2)实例成员具有下列特征:
       当在E.M形式的成员访问中引用实例成员时,E是成员M的类型的实例。
       类的每个实例分别包含一组该类的所有实例字段。类的每个实例都为每个实例字段建立一个副本。也就是说类的每个实例的实例字段的存储位置是不相同的。
      实例方法在类的给定实例上操作,此实例可以作为this访问。
week9---4月28日_第5张图片


你可能感兴趣的:(面向对象程序设计)