java和c中static_c,c++,java中static关键字的比较

今天由于项目需要,需要开发java的程序,于是就开始学习java语言,在看别人代码学习的过程中,发现了static关键字,仔细看了下,发现还是和c,c++中有些不同的,现在把3者的比较做个记录。

java中的static

java中的static用来修饰类的成员函数,或者是成员变量,这样这些变量就成为了静态方法(类方法)和静态变量(类变量)

比如有类A中定义了静态变量varsample,静态方法funcSample();

那么我们就可以这么调用他们A.varsample,A.funcSample(),    创建一个A类的实例 A a = new a(),a.varsample(可以,但不推荐)a.funcSample()(不可以)

此外静态方法有一些限制:1.只能调用静态方法,使用静态变量  2.不能调用this或者super

static变量存放在常量和静态变量区,在编译时分配内存。

java中的静态函数类似于ios中的以+号开头的静态函数

c中的static

c中的static也可以用来修饰变量和函数,称之为静态变量(内部变量)和静态函数(内部函数)

他们是与java不同的,c中的静态变量中静态标示的是变量的作用域。

这里静态变量根据声明的位置不同,可以分为全局静态变量和局部静态变量

其中全局静态变量的作用域为定义开始到文件结束。

局部静态变量的作用域为定义开始到函数或者语句块结束处。

但是全局静态变量和局部静态变量都是存储在全局数据区的,只有当程序结束时才会释放。

静态函数中的静态也是指作用域,他的作用域是声明开始到文件结束。

c++中的static

c++在static的使用分为一般使用和面向对象使用,前者就是类似c的static使用,而后者则类似java中static中的使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值