static和fianl修饰变量的区别】的更多相关文章

参考:http://hllvm.group.iteye.com/group/topic/37682 http://blog.csdn.net/javakuroro/article/details/6817520 http://blog.csdn.net/qq1623267754/article/details/36190715 ======================================================================= 首先来说,普通的静态变量赋…
一.static关键字的特点 (1)修饰成员变量.成员方法(2)随着类的加载而加载(3)优先于对象存在(4)被所有对象共享(5)可以通过类名调用 它本身也可以通过对象名调用 例如:main()方法由java虚拟机调用,不需要创建对象,他是一个静态方法 二.什么时候使用静态? 如果某个成员变量是被所有对象共享的,那么它应该被定义为静态的. 三.类成员和对象成员 静态修饰的内容一般我们称其为:与类相关的,类成员 非静态修饰的内容一般我们称其为:与对象相关的,对象成员 四.注意事项 (1)静态方法没有…
转自:http://blog.163.com/sunshine_linting/blog/static/44893323201191294825184/ 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量.全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式.这两者在存储方式上并无不同.这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的. 而静态全局变量则限制了其作用域, 即只在定义该…
首先理解静态变量的区别,声明一个函数test() function num(){ $a = 0; echo $a; $a++; } num();num();num(); //输出000 function num(){ static $a = 0; echo $a; $a++; } num();num();num(); //输出012 从上面可以看到使用static的区别,static可以在函数被重复调用的时候,static变量保留上次执行函数后的结果. 可以利用此类特性做隔行变色等 functi…
简单的代码总结,不足之处多多指教. //简单的使用 -(void)blockOne{ ; int(^BlockOne)(int) = ^(int num2) { return number*num2; }; NSLog()); } -(void)blockTwo{ int(^block)(int,int) = ^(int stra,int str2) { return stra + str2; }; NSLog(,)); } -(void)blockThree{ //下边这个代表Block 会汇…
Static在C语言里面有两个作用,第一个是修饰变量,第二个是修饰函数. 1.Static修饰变量 按照作用范围的不同,变量分为局部变量和全局变量.如果用static修饰变量,不论这个变量是全局的还是局部的都是存储在静态数据区.下面分开来讲: ¨          如果用static修饰全局变量,我们称其为静态全局变量. 我们用static修饰全局变量的主要目的就是:使得其作用域仅限于变量被定义的文件中(即从变量定义处到本文件结尾处),其它文件不论通过什么方式都不能访问. ¨         …
这里主要涉及到类对象(static方法),对象方法(非static方法) 我们知道,当synchronized修饰一个static方法时,多线程下,获取的是类锁(即Class本身,注意:不是实例): 当synchronized修饰一个非static方法时,多线程下,获取的是对象锁(即类的实例对象) 所以,当synchronized修饰一个static方法时,创建线程不管是new JoinThread()还是new Thread(new JoinThread()),在run方法中执行inc()方法…
静态变量和成员变量的区别* 静态变量也叫类变量  成员变量也叫对象变量* A:所属不同 * 静态变量属于类,所以也称为为类变量 * 成员变量属于对象,所以也称为实例变量(对象变量)* B:内存中位置不同 * 静态变量存储于方法区的静态区 * 成员变量存储于堆内存* C:内存出现时间不同 * 静态变量随着类的加载而加载,随着类的消失而消失 * 成员变量随着对象的创建而存在,随着对象的消失而消失* D:调用不同 * 静态变量可以通过类名调用,也可以通过对象调用 * 成员变量只能通过对 象名调用 fi…
fianl修饰的变量不可以改变,一旦获得初始值,该final变量的值就不能被重新赋值. 1.final成员变量(必需由程序员显式地指定初始值) 类变量:必须在静态初始化块中或者声明该变量时指定初始值,二者选一 实例变量:必须在非静态初始化块,或声明该变量,或构造器中指定初始值 2.final局部变量 final定义的局部变量可以在定义的时候指定默认值,也可以不指定默认值.如果在定义的时候没有指定默认值,则在以后的代码中可以指定默认值,但只能指定一次. 3.final修饰基本类型变量和引用类型变量…
参考一   昨天看三层架构 (具体没怎么弄懂) 发现一般有一页代码专门用户存放字段的 而且都用用属性封装..令我诧异的是 很多字段属性都存在 get{}和set{} 和普通的变量没什么区别(可读可写) 我就感觉属性就是给字段一个多的选择方式,有的字段是不允许更改的..  博客园一查,还真的涨见识了 刚写程序时总觉得一个字段就能满足要求,何必要使用定义起来麻烦的属性要get.set的去定义,代码量还大,真不知道他们的区别和优点例: public class myclass { public sta…