java和C++中的static
2014-03-17 08:58
288 查看
相同和不相同的部分:
一、static修饰方法时方法是可以直接用类名调用的,它是属于静态数据的。 静态的数据,在编译的时候即编译器把类加载到内存的时候,只是把类的静态函数和类的静态数据加载内存中并分配一个独立的空间供类的所有的对象使用,即一个对象改变静态数据就会影响另一个对象的静态数据,因为静态数据只有一个,是所有对象共享的。 二、但是C++ 中static的含义要比iava广得多。static变量本身有种“共享”的属性,并且共享它的“用户”的权限都是可读可写。其中若有一位改变了它的值,其他的“用户”也只能接受这种改变。 对于c++来说: 1.全局静态变量或者局部静态变量可以让它们相应作用域中的“用户”来使用; 2.类中的静态成员变量和静态成员函数可以用类名访问或者用对象访问(如果权限允许的话),而且其静态成员变量仅能在类外初始化:variable_type CLASSNAME::variable_name = value。 对于Java而言,因为Java严格遵守opp思想,static仅体现在类的成员变量和方法上。用法同2,但是其初始化可以在类内部完成。
概括来说:
1.static成员可以直接通过类名来访问,这个在两种语言都是一致的,只是语法上有一点区别。2.static在C++中的含义要多一些, 比如在C++中还可以用static修饰全局变量和局部变量,而java中则只能用于定义静态成员。Java语言是基于C++开发出来的,所以一些语法语义上是相同的。
相关文章推荐
- 关于static在java和c++中的用法小谈(二)
- 从c++到java 之二(static)
- 关于static在java和C++中的用法小谈(一)
- C++转Java自学之路(三)构造代码块、构造函数与static修饰符
- C\C++与Java中的static关键字
- static关键字在c++与java中的不同
- 浅谈Java/C++中的static关键字
- Java和C++中的static
- key word 'static' in c++/java
- C++程序员学Java系列之二二:static 关键字
- C C++ Java中的static
- C++和JAVA 的static函数用法的区别
- [Java/C++] static 关键词的使用
- NDK/Jni Develop Guild(5)c/c++ access Java Method and static method
- static in Java and C++
- 【转】java中static{}语句块详解
- java中static{}语句块详解
- java中static 内存分配
- [C++]const_cast,dynamic_cast,reinterpret_cast,static_cast转型
- C++与JAVA函数参数传递的比较