51 lines
1.1 KiB
Markdown
51 lines
1.1 KiB
Markdown
|
|
概念:
|
|||
|
|
用static 修饰的成员变量、方法、属性
|
|||
|
|
|
|||
|
|
特点:
|
|||
|
|
==直接用类名点出来使用 没有实例化!!!!==
|
|||
|
|
|
|||
|
|
通常用法:
|
|||
|
|
PI之类的全局且唯一性的
|
|||
|
|
|
|||
|
|
语法:
|
|||
|
|
static 变量名 = XXX;
|
|||
|
|
|
|||
|
|
案例:
|
|||
|
|
```Csharp
|
|||
|
|
class Test
|
|||
|
|
{
|
|||
|
|
static public float PI = 3.1415926; //静态成员
|
|||
|
|
public int testInt = 100;
|
|||
|
|
|
|||
|
|
public static float CalcCircle(float r) //静态方法
|
|||
|
|
{
|
|||
|
|
return PI * r;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void TestFunc() //非静态方法
|
|||
|
|
{
|
|||
|
|
Console.WriteLine("123");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
static void Main(string[] args)
|
|||
|
|
{
|
|||
|
|
Console.WriteLine(Test.PI);
|
|||
|
|
Console.WriteLine(Test.CalcCircle(2));
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
注意:
|
|||
|
|
和程序同生共死,在程序使用后永远不会清除内存,直到程序结束
|
|||
|
|
非静态函数可以调用静态成员
|
|||
|
|
静态成员声明后可以不赋初始值
|
|||
|
|
静态方法中不能使用==没有实例化的==非静态成员
|
|||
|
|
|
|||
|
|
|
|||
|
|
[[常量]]可以理解为特殊的静态
|
|||
|
|
共同点
|
|||
|
|
- 都可以通过类名点出来使用
|
|||
|
|
不同点
|
|||
|
|
- const必须初始化,不能修改 static 没有这个限制
|
|||
|
|
- const值能修饰变量、static可以修饰很多
|
|||
|
|
- const一定是写在访问修饰符后面的,static没有这个要求
|