当前位置:网站首页>static修饰的函数有什么特点(static可以修饰所有的变量吗)
static修饰的函数有什么特点(static可以修饰所有的变量吗)
2022-08-02 13:20:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
static修饰的函数叫做静态函数,静态函数有两种,根据其出现的地方来分类:
- 如果这个静态函数出现在类里,那么它是一个静态成员函数;
静态成员函数的作用在于:调用这个函数不会访问或者修改任何对象(非static)数据成员。
其实很好理解,类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问;非静态成员(变量和方法)属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象(实例)去访问。
- 如果它不是出现在类中,那么它是一个普通的全局的静态函数。
这样的static函数与普通函数的区别是:用static修饰的函数,限定在本源码文件中,不能被本源码文件以外的代码文件调用。而普通的函数,默认是extern的,也就是说它可以被其它代码文件调用。
在函数的返回类型前加上关键字static,函数就被定义成为静态函数。普通 函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。因此定义静态函数有以下好处: <1> 其他文件中可以定义相同名字的函数,不会发生冲突。 <2> 静态函数不能被其他文件所用。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/125426.html原文链接:https://javaforall.cn
边栏推荐
- 【C语言】手撕循环结构 ——do...while语句及循环练习题(1)
- Get out of the machine learning world forever!
- WPF效果第一百九十三篇之登录实现
- Detailed explanation of network flow (what information can the flow network diagram generally reflect)
- The uniapp/applet onload method executes the interpretation every time the page is opened
- C语言结构体(入门)
- 麻烦问一下,对mysql 场景注入故障,是不是不是对mysql server 端注入故障,只是对ja
- Oracle update误操作单表回滚
- eclipse连接数据库后插入数据报错null
- [C language] Analysis of function recursion (2)
猜你喜欢
随机推荐
你真的懂单例模式么
二进制中1的个数
Mysql视图
Mysql 基本操作指南之mysql查询语句
86.(cesium之家)cesium叠加面接收阴影效果(gltf模型)
移动端适配,华为浏览器底色无法正常显示
方正璞华“劳动人事法律自助咨询服务平台”在武汉武昌区投入使用!
sql concat() function
苹果,与Web3 “八字不合”
矩阵中的路径
.Net 5.0 Quick Start Redis
js array recursively use
WeChat applet getPhoneNumber interface code=40013
我的创作纪念日
Scala基础语法入门(三)Scala中的各种运算符
攻防世界----unfinish
Win11怎么修改关机界面颜色?Win11修改关机界面颜色的方法
【C语言】细品分支结构——switch语句
.Net 5.0快速上手 Redis
什么是 commonjs2

![[C language] Analysis of function recursion (2)](/img/b1/9baa60a69d41a1823ed92001d1b0a0.png)



![[C language] Explicit array solution (1)](/img/d2/26e3e64bb07578a6348747c00abb64.png)


