static修饰的函数有什么特点(static可以修饰所有的变量吗)

static修饰的函数叫做静态函数,静态函数有两种,根据其出现的地方来分类:如果这个静态函数出现在类里,那么它是一个静态成员函数;        静态成员函数的作用在于:调用这个函数不会访问或者修改任何对象(非static)数据成员。        其实很好理解,类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问;非静态成员(变量和方法)属于类的对象,所以只有…

大家好,又见面了,我是你们的朋友全栈君。

static修饰的函数叫做静态函数,静态函数有两种,根据其出现的地方来分类:

  • 如果这个静态函数出现在类里,那么它是一个静态成员函数

        静态成员函数的作用在于:调用这个函数不会访问或者修改任何对象(非static)数据成员

        其实很好理解,类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问;非静态成员(变量和方法)属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象(实例)去访问。

  • 如果它不是出现在类中,那么它是一个普通的全局的静态函数

        这样的static函数与普通函数的区别是:用static修饰的函数,限定在本源码文件中,不能被本源码文件以外的代码文件调用。而普通的函数,默认是extern的,也就是说它可以被其它代码文件调用。

  在函数的返回类型前加上关键字static,函数就被定义成为静态函数。普通 函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。因此定义静态函数有以下好处:
  <1> 其他文件中可以定义相同名字的函数,不会发生冲突。
  <2> 静态函数不能被其他文件所用。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125426.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月18日 下午9:00
下一篇 2022年4月18日 下午9:00


相关推荐

  • Linux下文件搜索、查找、查看命令

    Linux下文件搜索、查找、查看命令Linux下文件搜索、查找、查看命令1、最强大的搜索命令:find一、根据文件或目录名称搜索二、根据文件大小搜索三、根据所有者和所属组搜索四、根据时间属性搜索五、根据文件类型或i节点搜索六、组合条件搜索  2、在文件资料中查找文件:locate  3、搜索命令所在的目录及别名信息:which 4、搜索命令所在的目录及帮助文档路径:whereis5、在文件…

    2022年7月26日
    11
  • javaWeb实现qq邮箱验证(二)「建议收藏」

    javaWeb实现qq邮箱验证(二)「建议收藏」上篇写的实现基本上是一个工具类,并没封装成下图这样方式(梨视频注册界面),现在开始完善上篇的java邮箱激活验证功。java邮箱验证地址:https://blog.csdn.net/BlackPlus28/article/details/85044068———————————————————————…

    2022年6月13日
    42
  • nanobanana教程:风景图智能扩展AI生成指南|Landscape Outpainting风格创作

    nanobanana教程:风景图智能扩展AI生成指南|Landscape Outpainting风格创作

    2026年3月13日
    2
  • 如何创建HTML表单?html表单代码怎么写[通俗易懂]

    如何创建HTML表单?html表单代码怎么写[通俗易懂]html表单代码是什么?如何创建HTML表单?这些对于新手会感到陌生,下面我们为你总结一下html表单代码怎么写?以及html表单的创建?一:构建表单标签在文本编辑器中打开HTML文档,必须在<form>和</form>标签中键入HTML表单的内容。这些标签充当表单的容器,就像<div></div>容器标签一样。您可以在<form></form>标签内使用CSS或js,使您的表单看起来比较美观。2.打开<form&gt

    2022年8月11日
    7
  • ADC RF中频采样 Vivado Verilog 联合 matlab 进行带通滤波器设计与仿真

    ADC RF中频采样 Vivado Verilog 联合 matlab 进行带通滤波器设计与仿真1.滤波器参数计算RF中频信号的频率范围为70MHz±2MHz,采样频率为40.625MHz。采样后信号的频谱是原信号频谱以40.625MHz为周期的频谱搬移,根据奈奎斯特采样定理,40.625MHz采样率的奈奎斯特采样区为[N*20.3125,(N+1)*20.3125]MHz(N为自然数)。频谱搬移在第一奈奎斯特采样区为11.25MHz±2MHz(负频率向右的两次频移)。所以滤波器的通带需要设计为9.25MHz~13.25MHz通过的带通滤波器。2.通过matlab的fdatool工具进行滤波器

    2022年5月30日
    49
  • Windows小知识—恶意软件删除工具(mrt)

    Windows小知识—恶意软件删除工具(mrt)使用方法:打开运行窗口:win+r; 输入”mrt”,回车;3、在弹框之后一直下一步或者自定义都行;

    2022年6月24日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号