在C#类中,默认的方法、字段访问控制修饰符为private,这与Java不一样(java默认为本包访问级别)
默认的接口、类、结构、枚举等访问修饰符为internal。
C#静态构造方法不允许出现访问修饰符,也不允许具有参数(由系统自己调用,类似Java的静态初始化块),仅允许一次。
/**
* 静态构造方法不能带访问修饰符,不能带参数(他们由系统自己调用)
* */
static Test()
{
Console.WriteLine("仅运行一次---当类加载器加载其时调用!");
}
/*静态构造方法不允许出现参数
static Test(String info) Error
{
Console.WriteLine("仅运行一次---当类加载器加载其时调用!"+info);
}
* */
C#中 const定义的字段不能再用static修饰,因为const本身就属于类成员,且其值必须在声明时初始化。
不能在静态类中出现实例成员(字段或方法),只能存在静态成员(包含静态构造方法)。
//静态类
public static class phqTool
{
//不能存在实例成员
//private int a = 100;
private static int ID=128;//静态字段 ok
/*
* 不能包含实例方法或属性、字段
public void printMsg(String msg)
{
Console.WriteLine(msg);
}
*/
//静态方法 ok
public static void printMsg(String msg)
{
Console.WriteLine("打印信息:"+msg+";ID="+ID);
}
//静态构造方法(静态构造方法,类似Java静态初始化块,不能有访问修饰符和参数)
static phqTool()
{
Console.WriteLine("phqTool开始加载到内存……");
}
public phqTool()//Error
{
//静态类不能有实例构造方法
}
}
静态类不能实例化!