zoukankan      html  css  js  c++  java
  • 关于静态类


    一、什么是静态类
    所谓静态类即在类的前面用static关键字来修饰的类。
    这样的类
    1,不能被实例化
    2,是密封类
    3,仅包含静态成员
    4,不包含实例构造函数
    二、为什么使用静态类
    静态类无需创建实例,用类名就可能直接访问其成员,这时也许有人会说了,如果我只把我的成员写成static的,类不标志为静态的,我用类的名字也可访问静态的成员啊,何必多此一举非要把类标志为static的呢?这有就有一说了,上面那样,的确可以做到,这个类既包含静态成员,又包含实例成员,如果用类名直接就可以访问到静态成员,如果创建类的实例就可以访问到实例成员。在我们习惯上想用一个类的时候都会条件反射似的去new一个对象,但是如果在不清楚这个类的组织结构的时候就去new 一个类的实例,就看不到这个类里面的静态方法了,这会给使用者造成误导,找不到这个静态方法,若不去new 呢,又看不到这个类的实例方法,如果将类定义成static的,那么编译器在编译的时候就对它进行检查,不让其实例化,也就是不准对它new,这就保证了类的完整性,防止意外的创建基实例。静态类的实现更简单更迅速。所以要定义一个类的时候就应该想好了,这个类定义为静态类,还是实例类。
    三,静态类的应用场合
    看下面这个简单的类
    public  class School
    {
      public string GetSchoolName()
      {
       return "School Name";
      }
     public string GetSchoolAddress()
      {
       return "SchoolAddress";
      }
    }
    这个类的成员方法只是为了返回这个类的基础信息,没有附加到该类的具体实例,所以诸如此的类应该声明为静态类,实现起来更加简单,迅速。
    public static class School
    {
      public  static string GetSchoolName()
      {
       return "School Name";
      }
     public static string GetSchoolAddress()
      {
       return "SchoolAddress";
      }
    }
    场合:

  • 相关阅读:
    用AVIFile函数制做AVI文件基本步骤
    RHEL5下源码安装Mysql
    RHEL 6.2/i686配置使用CentOS YUM源
    教你选择最稳定的 MySQL 版本
    RHEL 6.2/i686桌面版解决风扇狂转的问题 安装官方闭源ATI显卡驱动
    Ubuntu 11.10下解决JUK播放MP3乱码的方法
    Ubuntu 10.04下SVN+Apache安装、配置与使用
    Ubuntu 11.10安装(卸载)ATI闭源驱动导致黑屏进不了系统的解决办法
    ubuntu 11.10下创建eclipse桌面快捷方式
    Ubuntu 11.10与Windows双系统的硬盘安装方法
  • 原文地址:https://www.cnblogs.com/wqj1212/p/1154547.html
Copyright © 2011-2022 走看看