c#静态成员

静态成员的基本概念

static 关键字 用static修饰的成员变量 方法 属性等 称为静态成员

直接用类名点出使用

自定义静态成员及使用

自定义静态成员

复制代码
class Test
{
    public const float G=9.8f;
    public static float PI = 3.1415926f;
    public float a;
    public static float CalcCricle(float r)//static
    {
        Test t = new Test();
        Console.WriteLine(t.a);
        return PI * r * r;
        
        
    }
    public float Test6()
    {
        Console.WriteLine(PI);
        return PI;
    }

使用

复制代码
Console.WriteLine(Test.CalcCricle(3));
Console.WriteLine(Test.PI);

Test t = new Test();

Console.WriteLine(t.PI);错误 静态成员不能用类对象点出使用

为什么可以直接点出来使用

程序中是不能无中生有的

我们要使用的对象 变量 函数 都是要在内存中分配内存空间的

之所以要实例化对象,目的是分配内存空间 ,在程序中产生一个抽象的对象

静态成员的特点

程序开始运行时,就会分配空间 ,所以能直接使用

静态成员和程序同生共死

只要使用了它,直到程序结束时内存空间才会被释放

所以一个静态成员就会有自己唯一的一个"内存小空间"

这让静态成员就有了唯一性

任何地方使用都是用的小房间里的内容,改变了他就是改变了小房间里的内容

静态函数中不能使用非静态成员

成员变量只能将对象实例化处理后,才能点出来使用,不能无中生有

不能直接使用非静态成员 否则会报错

非静态函数可以使用静态成员

复制代码
public float Test6()
        {
            Console.WriteLine(PI);
            return PI;
        }

静态成员对于我们的作用

1常用唯一变量的声明

2方便别人获取的对象声明

静态方法

常用的唯一方法声明

常量和静态变量

const可以理解为特殊的static

相同点

他们都可以通过类名点出使用

不同点

1const必须初始化 不能修改 static没有这个规则

2 const只能修饰变量 static可以修饰很多

3 const一定是写在访问修饰符后面的,static没有这个要求

相关推荐
xiaoye-duck24 分钟前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型
AI源码1 小时前
基于 Python 的短视频用户行为分析系统
开发语言·python
旖旎夜光2 小时前
【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针
开发语言·c++·笔记·学习
揽星河..2 小时前
【C语言】结构体
c语言·开发语言
2601_966949652 小时前
如何封装 qd.klines.batch(),让批量 K 线查询函数在多个策略中复用?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
神仙别闹3 小时前
基于Python实现英词语自动对齐系统
开发语言·python
akinggw3 小时前
libagentcore - 一个基于c++的AI多agent系统升级到2.0版本
开发语言·jvm·c++
老歌老听老掉牙4 小时前
圆柱端面四平面交线及其在yoz面投影的几何解析与 Python 实现
开发语言·python·平面
旖旎夜光5 小时前
【C++ 基础入门】命名空间、输入输出、缺省参数与函数重载
开发语言·c++·笔记·学习
俩个逗号。。5 小时前
Kotlin flow 详解
android·开发语言·kotlin