当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
this的绑定指向详细解答
自动生成代码器推荐-code-gen
The uniapp/applet onload method executes the interpretation every time the page is opened
Markdown怎么加入emoji
Oracle update误操作单表回滚
科研试剂DSPE-PEG-VIP,二硬脂酰基磷脂酰乙醇胺-聚乙二醇-血管活性肠肽VIP
Get out of the machine learning world forever!
In-depth analysis and use of Ribbon load balancing
ThinkPHP 5.1反序列化分析和poc
【C语言】虐打循环练习题(2)
目前想通过提取本地excel文件创建数据表,在sql语句这出了一些问题
如何通过DBeaver 连接 TDengine?
短视频美食自媒体怎么做?5步教你快速上手
Article 48 - Analysis of timestamp2 parameters【2022-08-01】
package.json and package-lock.json
leetcode 504. Base 7 七进制数 (简单)
Cannot determine loading status from target frame detached when selenium chrome driver is running
[C language] Analysis of function recursion (2)
How to use the database like tap water?|Tencent Cloud Database TDSQL-C
[typescript] Use the RangePicker component in antd to implement time limit the previous year (365 days) of the current time