前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >static修饰的函数有什么特点(static可以修饰所有的变量吗)

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

作者头像
全栈程序员站长
发布2022-08-02 11:34:23
1.5K0
发布2022-08-02 11:34:23
举报
文章被收录于专栏:全栈程序员必看

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

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

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

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

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

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档