首页 > 编程语言 >C#--静态函数与非静态函数的区别

C#--静态函数与非静态函数的区别

时间:2023-03-02 13:24:25浏览次数:37  
标签:静态方法 函数 静态 成员 C# 实例 内存 类中

语法区别

  • 使用了static修饰符的方法为静态方法,反之为非静态方法,也就是实例方法。

在内存中位置的区别

  • 静态方法:静态成员属于类所有,可以被各个实例公用,无论创建了多少个新实例,类的静态成员在内存中都只占内存的同一块位置
  • 非静态成员:每创建一个类的实例,都会在内存中为非静态成员分配一块新存储

使用上的区别

  • 静态方法:静态方法属于类所有,在类实例化前就可以使用。
  • 非静态方法:非静态方法只有在实例化以后才能分配内存。
  • 非静态方法可以访问类中的所有成员,静态方法只能访问静态成员。
  • 静态方法可以使用类名.静态方法的格式使用

静态方法的优点和缺点

  • 优点:静态方法效率比实例方法高
  • 缺点:静态方法是不自动进行销毁

静态类的常用场景

  • 当一个类是工具类,里面都是方法。为了让用户调用的时候方便,不需要实例化对象。
  • 在普通类中使用静态成员的场景
  • 当这个类需要被实例化的时候,如果这个类中有一个成员是所有对象都共享的数据,这个时候可以将该类中的成员标记为静态的,但是这个类仍然是实例类。

标签:静态方法,函数,静态,成员,C#,实例,内存,类中
From: https://www.cnblogs.com/GaoUpUp/p/17171459.html

相关文章

  • 【LeetCode二叉树#15】二叉搜索树中的众数(递归中序遍历)
    二叉搜索树中的众数力扣题目链接(opensnewwindow)给定一个有相同值的二叉搜索树(BST),找出BST中的所有众数(出现频率最高的元素)。假定BST有如下定义:结点左子树中所......
  • 不为人知的网络编程(十五):深入操作系统,一文搞懂Socket到底是什么
    1、引言我相信大家刚开始学网络编程中socket的时候,都跟我一样对书上所讲的socket概念云里雾里的、似懂非懂,很是困扰。这篇文章我打算从初学者的角度,用通俗易懂的文字,跟大......
  • Visual Studio Code 1.76 发布
    VSCode1.76已发布,此版本一些主要亮点包括:配置文件-活动配置文件徽章,通过命令面板快速切换配置文件。VSCode现在通过在管理活动栏图标上显示配置文件名称的前两......
  • vscode编辑VBA扩展 XVBA - Live Server VBA 代码格式化 自动缩进错误问题修复
    XVBA-LiveServerVBA  v4.0.26版本中,代码格式化时,发现以下问题:next后面没有字符的时候,不能识别为末行ifthen后面加逻辑单独作为一行时,错误的识别为开始行解决......
  • c语言实现有头单向链表
    #include<stdio.h>#include<stdlib.h>#include<string.h>//采用有头链表,头节点不存数据,所以数据操作都从头节点所指的下一节点开始,这样就不会误操作到头节点。typed......
  • Memcached集群实现及原理介绍
    一、Memcached集群介绍1.自身通过算法保证数据唯一性2.集群形式对用户和Memcached都是透明的3.Memcached的集群是通过客户端实现的4.Memcached服务端相互不认识二、代码实现......
  • Memcached stats命令及核心参数
    一、stats命令用来查看服务器的运行状态和内部数据,其中核心的参数有:1.缓存命中率相关参数:cmd_get:总查询次数get_hits:命中次数get_misses:未命中次数2.使用频率参数:curr_items......
  • CentOS系统下Tomcat的优化
    一、JVM内存优化(线程优化)vim./bin/catalina.sh在catalina.sh文件中添加以下配置:JAVA_OPTS="-server-Xms128m-Xmx128m-XX:MetaspaceSize=128m-XX:MaxMetaspaceS......
  • java调用WCF服务
    一、概述最近项目上有需要和建科机器进行通信的需求,而建科这边给的技术文档和服务都是webservice的,我这边要做的就是用Java和建科的webservice交互。启动建科的webservice......
  • BaseRecyclerViewAdapterHelper学习实践
    一、概述在github中搜索recyclerview关键字,点赞最多的就是(​​BaseRecyclerViewAdapterHelper​​)这个库,所以抽空写了个demo看下效果!二、普通列表FirstActivity.javapackage......