惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
J
Java Code Geeks
P
Proofpoint News Feed
Recent Announcements
Recent Announcements
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园_首页
Hugging Face - Blog
Hugging Face - Blog
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
雷峰网
雷峰网
D
DataBreaches.Net
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
V
Visual Studio Blog
Apple Machine Learning Research
Apple Machine Learning Research
N
Netflix TechBlog - Medium
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta

博客园 - simply-zhao

Java 类加载基本原理[转] 浅谈Java内部类的四个应用场景[转--相当不错的文章] Java 局部类/匿名类[转] Java 静态内部类/内部类 Java Serializable Interface [转] Java Immutable Class[ From ] Java Clone机制[转] java clone机制 ANT十五大最佳实践【转】 Ant基础 System.TypeInitializationException C# Foundation---keyword: sealed C# Foundation---keyword: new C# Foundation---indexer C# Foundation---keyword: base & this C# Foundation Series C# Foundation---keyword: abstract & virtual & new & override C# Foundation---keyword: const & readonly & static readonly C# Foundation---keyword extern & P/Invoke [OS Homework]
C# Foundation---keyword:static & static constructor
simply-zhao · 2008-01-20 · via 博客园 - simply-zhao

 1using System;
 2using System.Collections.Generic;
 3using System.Text;
 4
 5namespace CSharpFoundationStudy
 6{
 7    /*
 8     * 静态构造函数:
 9     *   (1)用于对静态字段、只读字段等的初始化。              
10     *   (2)添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。        
11     *   (3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数
12     *   (4)静态构造函数是不可继承的,而且不能被直接调用。            
13     *   (5)如果类中包含用来开始执行的 Main 方法,则该类的静态构造函数将在调用 Main 方法之前执行。    
14     *   (6)任何带有初始值设定项的静态字段,则在执行该类的静态构造函数时,先要按照文本顺序执行那些初始值设定项。  
15     *   (7)如果没有编写静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的静态构造函数。
16     */

17    
18    /*
19     * 定义一个类的时候,如果没有加任何修饰符,则默认为internal
20     * 如果在类中定义一个成员的时候,没有加任何修饰符,则默认是private.
21     * 另外protected访问权限指只能被继承者访问,与C++相同
22     */

23
24    //标记为sealed的类不能被继承
25    //静态构造函数实现单件模式
26    public sealed class SinglePattern
27    {
28        private static SinglePattern only;
29
30        public static SinglePattern Instance
31        {
32            get
33            {
34                return only;
35            }

36        }

37
38        //static函数中只能访问static成员,因为静态成员与函数是相对于类的,而非静态则是相对于某个具体对象的
39        //静态成员也不能通过this来访问
40        static SinglePattern()
41        {
42            Console.WriteLine("SinglePattern");
43            only = new SinglePattern();
44        }

45        
46        //屏蔽默认构造函数
47        private SinglePattern()
48        {
49        }

50    }

51}