①静态成员
标识为static的字段、方法、属性、构造函数、事件,就是静态成员。 静态成员将被类的所有实例共享,所有实例都访问同一内存位置。静态成员和实例成员在内存中被分开保存。 静态成员可直接通过类名访问,没有实例也可以访问。 静态函数不能访问实例成员,仅能访问其他静态成员。
静态构造函数:
静态构造函数用于初始化静态字段。 在引用任何静态成员之前,和创建任何实例之前调用。 与类同名,使用static,无参数,无访问修饰符。
1 | class Dog{ |
②静态类
如果类只包含静态的方法和属性,并标识为static 静态类不能创建实例,不能被继承 可以为静态类定义一个静态构造函数 静态类的作用: 1.作为基础类库,储存很多信息 2.作为扩展方法: 在不知晓源代码、密闭类不能派生时,就可以使用静态类作为拓展方法。 但是拓展方法需要指明对象(可在未实例化之前)。 如:
1 | static class Write{ |
注意:
扩展方法所属的类必须是static类 拓展方法本身必须是static方法 拓展方法的第一个参数类型,必须是this+类名