今天在做底层数据库操作时,又用到了静态类,所以,单拿出来再说说它

简介:

静态类相当于一个sealed abstract类,主要的一个优点是写在栈中,安全高速稳定,而且在执行的时候,十分优先。

类可以声明为 static 的,以指示它仅包含静态成员。不能使用 new 关键字创建静态类的实例。静态类在加载包含该类的程序或命名空间时由 .NET Framework 公共语言运行库 (CLR;特指:C#语言) 自动加载。

  它们仅包含静态成员

它们不能被实例化。

它们是密封的。

它们不能包含实例构造函数)。

因此创建静态类与创建仅包含静态成员和私有构造函数的类大致一样。私有构造函数阻止类被实例化

优点

使用静态类的优点在于,编译器能够执行检查以确保不致偶然地添加实例成员。编译器将保证不会创建此类的实例。

静态类是密封的,因此不可被继承。静态类不能包含构造函数,但仍可声明静态构造函数以分配初始值或设置某个静态状态。

注意

静态类不能有实例构造器。

静态类不能有任何实例成员。 静态类不能使用abstract或sealed修饰符。 静态类默认继承自System.Object根类,不能显式指定任何其他基类。

静态类不能指定任何接口实现。

静态类的成员不能有protected或protected internal访问保护修饰符。

看代码更清楚一些:

 public static class ReflectionFactory //类自动由CLR自动加载,安全高速稳定,它没有实例成员,不能被实例化
    {
 
        private static String datastr;
        static ReflectionFactory() //静态构造方法在应用程序开始时执行,且只执行一次
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(@"f:/config/config.xml");
            XmlNode xmlNode = xmlDoc.ChildNodes[1];
            datastr = xmlNode.ChildNodes[0].ChildNodes[0].Value;
        }
        public static IData MakeSQL()
        {
            return Assembly.Load("Data").CreateInstance("Data." + datastr) as IData;
        }
 
目录
相关文章
|
存储 安全 Unix
C#.Net筑基-类型系统②常见类型--日期和时间的故事
在System命名空间中,有几种表示日期时间的不可变结构体(Struct):DateTime、DateTimeOffset、TimeSpan、DateOnly和TimeOnly。DateTime包含当前本地或UTC时间,以及最小和最大值;DateTimeOffset增加了时区偏移信息,适合跨时区操作。UTC是世界标准时间,而格林尼治标准时间(GMT)不稳定,已被更精确的UTC取代。DateTimeOffset和DateTime提供了转换为UTC和本地时间的方法,以及各种解析和格式化函数。
273 5
|
存储 IDE Java
Java“NoClassDefFoundError”解决
Java中的“NoClassDefFoundError”错误通常发生在尝试访问某个类时,该类在编译时可用但在运行时找不到。解决方法包括:确保所有依赖库已正确添加到类路径中,检查类名和包名是否正确,以及清理并重新构建项目。
3295 3
|
数据采集 编解码 小程序
微信小程序 | 人脸识别的最终解决方案
微信小程序 | 人脸识别的最终解决方案
3017 0
微信小程序 | 人脸识别的最终解决方案
|
缓存 监控 安全
Spring AOP 详细深入讲解+代码示例
Spring AOP(Aspect-Oriented Programming)是Spring框架提供的一种面向切面编程的技术。它通过将横切关注点(例如日志记录、事务管理、安全性检查等)从主业务逻辑代码中分离出来,以模块化的方式实现对这些关注点的管理和重用。 在Spring AOP中,切面(Aspect)是一个模块化的关注点,它可以跨越多个对象,例如日志记录、事务管理等。切面通过定义切点(Pointcut)和增强(Advice)来介入目标对象的方法执行过程。 切点是一个表达式,用于匹配目标对象的一组方法,在这些方法执行时切面会被触发。增强则定义了切面在目标对象方法执行前、执行后或抛出异常时所
17201 4
|
JSON 小程序 JavaScript
面试官说,布局小程序页面记得用TDesign组件库
面试官说,布局小程序页面记得用TDesign组件库
|
存储 Linux 应用服务中间件
Docker Volume 看这一篇就够了
Docker Volume 看这一篇就够了
16131 3
Docker Volume 看这一篇就够了
|
SQL JSON 监控
日志服务数据加工:功能概述
日志服务数据加工:功能概述
14459 0
|
JSON 数据格式
日志服务数据加工: 最佳实践汇总(持续更新)
20+篇日志服务数据加工最佳实践的实战汇总 (持续更新)
16660 0
|
索引 Python
日志服务数据加工:快速开始(SLB日志加工实战)
日志服务数据加工上线,本文以SLB日志加工实战为例,覆盖规则编写、控制台交互、权限配置、监控排错等
5543 0
|
1天前
|
云安全 人工智能 自然语言处理

热门文章

最新文章