static变量的特点 - 只会有一份成员对象

1.   public class HasStatic{

2.     private static int x=100;

3.     public static void main(String args[]){

4.          HasStatic hs1=new HasStatic();

5.          hs1.x++;

6.          HasStatic  hs2=new HasStatic();

7.          hs2.x++;

8.          hs1=new HasStatic();

9.          hs1.x++;

10.        HasStatic.x--;

11.        System.out.println("x="+x);

12.     }

13.   } 

首先要了解static的意思。

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块

static变量在第一次使用的时候初始化,但只会有一份成员对象。

所以这里不仅可以调用,而且每一次调用都确实修改了x的值,也就是变化情况是这样的:

x=101
x=102
x=103
x=102

时间: 2024-08-08 09:51:25

static变量的特点 - 只会有一份成员对象的相关文章

static 变量的作用:

概念:静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值.静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见. 1.先来介绍它的第一条也是最重要的一条:隐藏 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性. 2. static的第二个作用是保持变量内容的持久 存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化.共有两种变量存储在静态存储区:全局变量和static

转:C语言中的static变量和C++静态数据成员(static member)

转自:C语言中的static变量和C++静态数据成员(static member) C语言中static的变量:1).static局部变量        a.静态局部变量在函数内定义,生存期为整个程序运行期间,但作用域与自动变量相同,只能在定义该变量的函数内使用.退出该函数后, 尽管该变量还继续存在,但不能使用它.        b.对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值.而对自动变量不赋初值,则其值是不定的.2).static全局变量        全局变量本身就是静

java执行程序的内存分析系列专栏二之static变量和方法内存分析

昨天写了简单的聊了下java执行程序时简单的内存划分,今天我们接着往下聊,聊聊static变量和方法的内存分析. 1.static变量和方法的第一个特性内存分析 statiic变量和方法的第一个特性能通过类名.static变量和类名.static方法的形式调用,而普通只能对象的形式调用.但具体为什么是这样的,这得分析static变量和方法他们在内存中怎样分配的,因此在这里我首先建立一个学生类,里面有一个普通成员变量和一个静态成员变量以及一个普通方法和一个成员方法,然后建立了一个测试学生的类. 1

ecmall中static变量的使用-model模型代码设计

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 function &m($model_name, $params = array(), $is_new = false) {     <span style="backg

转载 IOS开发之---static变量

Objective-C 支持全局变量 主要有两种实现方式: (1)第一种和C/C++中的一样, 使用"extern"关键词: (2)另外一种就是使用单例实现. (比如我们经常会把一个变量放在AppDelegate里面作为全局变量来访问, 其中AppDelegate就是一个单例类)  在Objective-C中如何实现像C++中那样的静态成员变量呢? 你需要做的是在一个类A的implementation(.m或者.mm)文件中定义一个static变量,然后为A类定义静态成员函数(clas

static变量

# static 的作用#1.修饰局部变量---被static修饰的局部变量只会创建一次 * static int a = 0这句代码只会执行一次, 让局部变量只初始化一次 局部变量在程序中只有一份内存, 但是并不改变局部变量的作用域,仅仅是改变局部变量的生命周期,(直到程序结束) #2.修饰全局变量 * 全局变量如果不用static修饰,默认情况下,全局变量在任何类中都可以直接调用. * (例如在Person.m中创建一个 int heigh = 180, 那么在整个工程任何其他类中都可以直接

局部变量和static变量

局部变量:指在程序中,只在特定过程或函数中可以访问的变量,是相对于全局变量而言的.在C++.C#.Ruby这些面向对象语言中,一般只使用局部变量.在面向对象编程中现在普遍采用的是软件开发方法,因此无需考虑是局部变量还是全局变量,说到变量,往往都是局部变量,局部变量只在局部起作用,超出了局部范围就会被释放.例如: 结果为: static变量:static变量其中一个变量为,保持变量内容的持久.这是static变量和局部变量之间的区别,例如: 结果为: 局部变量和static变量之间的区别主要原因在

java中static变量和方法的总结

转自:http://blog.csdn.net/haobo920/article/details/5921621 java中一切皆是对象 一个类中对象的定义一般都是分一下的两步来进行的:1/    A a;                                     //定义了一个类A的引用2/    a=new A("10","2563");        //真正地建立了对象a,也就是a指向了内存中一块连续的区域 也就是说通常我们说的创建了一个类,只

PHP类的静态(static)方法和静态(static)变量使用介绍

PHP类的静态(static)方法和静态(static)变量使用介绍,学习php的朋友可以看下 在php中,访问类的方法/变量有两种方法: 1. 创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问. 2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以.但是有前提条件: A. 如果是变量,需要该变量可访问. B. 如果是方法,除了该方法可访