［音乐］
在前面的例子里面，我们已经看到了一些方法的应用，
那么在下面我们将通过几讲，再好好地讨论一下我们这样的一个方法。
那么方法在其他的程序语言里面也称之为函数，
那么它是一组代码，用来完成一组功能的这样的一个 方法或者函数。
那么在方法里面有一类特殊的方法就是用 static 修饰的方法，那么称之为静态方法。
那么也就是说我们用 凡是用 static 修饰符修饰的成员都称之为静态成员。
那么对于静态成员而言，它不需要 预先创建类的实例就能够直接使用。
也就是说我们在一般在我们使用一个类的时候，首先我们的
正常的步骤是要根据这个类创建这样的一个实例。
也就是说 类是一个图纸，而真正根据类创建出来的实例才是一个真正的这样的一个 object ，物品。
那么根据这样的一个类的 实例或者类的这样的一个实例化了之后，才能够使用类里面的
方法函数或者存储变量的值等等。
但是用 static 静态这样的一个
方法修饰的成员，它却不需要可以创建类的实例。
原因是什么呢？原因是 static 的方法在创建类的实例之前就已经被创建了。
所以不需要有任何类的实例成员都可以直接使用 static
修饰的 方法或者访问 static 的这样的一个成员的变量 或者一个属性等等。
那么访问的方法的方法就是类名
加上这样的一个静态成员名，也就是类名点静态成员名的方法。
而不会再用什么呢？不会再用对象名或者说实例的名字点成员的方法来访问。
那么也就是说类静态的方法
是从类的级别访问的，而不是从实例的级别访问的。
那么对于用 static 修饰的这样的变量称之为
静态变量，对于一个静态变量而言也是 在创建类的任何实例之前就存在了这样的一个静态
变量或者说就为这个静态变量已经分配了内存空间， 就可以使用访问这样的一个静态变量。
而还要注意的第二点的问题就是，
所有类的实例共享一个静态 变量的存储空间。
那么这句话的意思是， 不管你是否创建了这个类的实例，你都可以通过
类名点静态变量名来访问这样的一个静态变量。
同时，不管你创建了多少个类的实例， 那么当符应使用这样的一个类名、
静态变量名来访问的时候， 所有实例它们都用的是同一个静态变量。
也就是说不管从这个类将会创建出来多少个实例，
每一个实例使用静态变量值怎么样呢？是一份，是共享的。
任何一个地方的实例或者代码更改了 这个静态变量的值，将会影响到所有的
访问都会更改这个静态变量的值。
而 对于没有 static 修饰的一般的成员变量， 那么每一个实例都是拥有它各自的成员变量的。
每一个成员变量，每一个实例的成员变量 都可以取得不同的值。
反之，对于 static 修饰的 静态成员变量，所有的实例共享一个静态成员变量。
那么同样地，用 static 修饰的方法就称之为静态的方法。
那么一样， 所有的实例成员共享一个
静态方法，静态方法是用类名点静态方法 来访问的。
在所有的实例当中，任何 实例的其他方法都可以自由地访问类的 静态方法。
但是在类的静态方法里面， 它只能够调用怎么样呢？其他的静态方法。
并不能够允许访问一般的实例方法。
这个限制的原因也是很明显的，因为静态的 方法可以不用创建任何实例就可以直接使用。
所以说怎么样呢？所以说有可能如果能够允许一个静态方法调用一个实例方法的话，
那么就有可能还没有任何实例的时候就要调这个方法，这明显是不合逻辑的。
因为所有的静态方法都是在类创建的时候就有了，在实例创建之前就有了，
所以说静态方法，调用静态方法是明显是合理的，也是被允许的。
因此我们规定，静态方法中只允许访问类的静态成员， 而不允许访问实例的实例成员。
当然了，如果你已经有了一个实例成员了， 那么无疑它更肯定会有怎么样？也会有静态方法。
所以说在实例方法中间， 可以访问类中的任何成员，包括静态的或者非静态的。
那么是以下是对静态方法和实例方法的一个 简单的介绍。
下面我们看例题。