首页 > 编程语言 >C# 静态和非静态的区别

C# 静态和非静态的区别

时间:2023-11-29 22:33:05浏览次数:32  
标签:静态方法 区别 静态 成员 C# 实例 static public

静态标记 – static

//静态方法
public static void Max(){ }
//非静态方法
public void Max(){ }

//静态类
public static class program{ }
//非静态类
public class program{ }

静态和非静态的区别
 1.在静态类中既可以有静态成员,也可以有非静态成员。
 2.非静态成员也称为【实例成员】。
 3.在调用实例成员/方法(非静态成员)的时候,需要用实例对象.实例成员/方法(非静态成员)
 4.在调用静态成员/方法的时候,需要用类名.静态成员/方法
 5.静态方法(函数)中,只能访问静态成员,不能访问实例成员。
 6.非静态方法(函数)中,既可以访问静态成员,也可以访问实例成员。
 7.静态类中,只允许有静态成员/方法。
静态类的特征
 1.静态类本身占内存,静态存储区域,因为静态类不需要实例。
 2.静态类在整个项目中是资源共享的。
 3.上述两种特征导致,静态类是作为“工具类”来使用。存放经常调用的方法,或存放需要共享的数据。
 4.静态类只在项目所有应用程序结束时,才会释放资源,否者一直占据内存空间。
 5.因为占内存,静态类越少越好
常用的系统静态类: Console.WriteLine(); Console.ReadLine(); 

 

 

深入理解C# 静态类与非静态类、静态成员的区别 - Linybo2008 - 博客园 (cnblogs.com)

标签:静态方法,区别,静态,成员,C#,实例,static,public
From: https://www.cnblogs.com/ZJ-CN/p/17866078.html

相关文章

  • Nacos - 服务发现和配置管理
    Nacos-服务发现和配置管理教学目标1)能够理解微服务架构的特点2)能够理解服务发现的流程3)能够说出Nacos的功能4)掌握Nacos的安装方法5)掌握RESTful服务发现开发方法6)掌握Dubbo服务发现开发方法7)理解Nacos服务发现的数据模型8)能够掌握Nacos配置管理方法9)掌握Nacos扩展配置方......
  • Docker 容器日志查看和清理
    ......
  • Android Watchdog 原理分析
    一、使用通过watchdog的启动以及系统服务注册watchdog等入手来看一下它是如何运作的。启动watchdogprivatevoidstartBootstrapServices(@NonNullTimingsTraceAndSlogt){t.traceBegin("startBootstrapServices");//Startthewatchdogasearlyaspossiblesowe......
  • PVE 系列之二:安装基于 LXC 的容器
    基于LXC的容器CT模板换源注意版本是否适配cp/usr/share/perl5/PVE/APLInfo.pm/usr/share/perl5/PVE/APLInfo.pm_backsed-i's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g'/usr/share/perl5/PVE/APLInfo.pm重启服务。systemctlr......
  • 【Azure Cache for Redis】Redis的导出页面无法配置Storage SAS时通过az cli来完成
    问题描述在AzureRedis的导出页面,突然不能配置StorageAccount的SAS作为授权方式。那么是否可以通过AZCLI或者是Powershell来实现SAS的配置呢? 问题解答可以的。使用  azredisexport可以实现azredisexport--container--prefix......
  • CPU虚拟化的过程
    VMCS是VirtualMachineControlStructure。是Intel实现CPU虚拟化,记录vCPU状态的一个关键数据结构。VMCS数据结构主要包含以下信息。Guest-statearea,即vCPU的状态信息,包括vCPU的基本运行环境,例如寄存器等。Host-statearea,是物理CPU的状态信息。物理CPU和vCPU之......
  • Improving Computer Vision Accuracy using Convolutions
    ImprovingComputerVisionAccuracyusingConvolutions‍在前面的课程中,你们了解了如何使用包含三层的深度神经网络(DNN)进行时装识别,这三层分别是输入层(数据的形状)、输出层(所需输出的形状)和隐藏层。你试验了不同大小的隐藏层、训练epochs数等对最终准确率的影响。为方便起见,这......
  • As a project I always want to create for myself as a gift, the MVVM framework is
    IusedtowanttobuildaMVVMprojectformyself,especiallysinceIwrotemymementowriterprojectwhichisnojQuery,andthatwasverytimeconsumingandtiringtocreate.Lastyear,Ihadsomeinspiration,andreallywantedtotrytostartfreshthin......
  • 实验四 现代C++标准库与类模板
    task5textcoder.hpp#include<iostream>#include<string>usingstd::string;classTextCoder{private:stringtext;voidencoder();voiddecoder();public:TextCoder(string&str);TextCode......
  • static、extern、inline 说明符和链接属性
    概述-Overview在我初学C++时,static、inline、extern可能是最令我迷惑的C++说明符,原因是它们在不同的语境下会发挥不同的作用,而且某些说明符的含义已经和以前不同,这加剧了我在查询资料时的困扰。所以今天决定好好总结一下。首先要介绍C++的两个概念:存储期和链接。存储......