Files
Csharp/C#核心/Lesson7_静态成员/Program.cs
T

97 lines
3.3 KiB
C#
Raw Normal View History

2025-09-30 16:46:01 +08:00
namespace Lesson7
{
#region 知识点一 静态成员基本概念
//静态关键字 static
//用static 修饰的 成员变量、方法、属性等
//称为静态成员
//静态成员的特点是:直接用类名点出使用
#endregion
#region 知识点二 早已出现的静态成员
//console的writeline
#endregion
#region 知识点三 自定义静态成员
class test
{
//静态成员变量
public static float PI = 3.1415926f;
public int testInt = 100;
public static float CalcCircle(float r)
{
#region 知识点六 静态函数中不能使用非静态成员
//成员变量只能将对象实例化出来后 才能点出来使用 不能无中生有
//不能直接使用非静态成员,否则会报错
//Console.WriteLine(testInt);
////如果要使用,必须先实例化(分配出一个内存)
//test t = new test();
////然后再调用
//Console.WriteLine(t.testInt);
#endregion
return r * r * PI;
}
public void TestFun()
{
#region 知识点七 非静态函数可以使用静态成员
//也是因为生命周期造成的(已经分配内存了
Console.WriteLine(test.PI);
#endregion
Console.WriteLine("test123");
}
}
#endregion
#region 知识点五 为什么可以直接点出来使用
//记住!
//程序中是不能无中生有的
//我们使用的对象、变量、函数都是要在内存中分配空间的
//之所以要实例化对象,目的就是分配内存空间,在程序中产生一个抽象的对象
//静态成员的特点
//程序开始运行时 就会分配内存空间,所以我们就能直接使用
//静态成员和程序同生共死
//只要使用了他,知道程序结束时内存才会被释放
//所以一个静态成员就会有自己唯一的一个“内存小房间”
//这让静态成员就有了唯一性
//在仍和地方使用都是用的小房间里的内容,改变了它也是改变小房间里的内容
#endregion
#region 知识点八 静态成员对于我们的作用
//静态变量:
//1.常用唯一的变量 比如 重力加速度
//2.方便别人获取的对象声明 比如 PI
//静态方法:
//常用的唯一的方法声明 比如 相同规则的数学计算相关函数
#endregion
#region 知识点九 常量和静态常量
//const(常量)可以理解为特殊的static(静态)
//相同点
//他们都可以通过类名点出使用
//不同点
//1.const必须初始化,不能修改 static没有这个规则
//2.const只能修饰变量,static可以修饰类、方法等
//3.const一定是写在访问修饰符后面的,static没有这个要求
#endregion
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
#region 知识点四 静态成员的使用
Console.WriteLine(test.PI);
Console.WriteLine(test.CalcCircle(2));
test t = new test();
Console.WriteLine(t.testInt);
#endregion
}
}
}