afa的专栏

每天进步一点点

Java的局部变量与成员变量

java局部变量与成员变量:
在Java中,局部变量必须初始化;成员变量可以不用初始化,系统自动初始化。
class A { int a;//成员变量 public static void main(String[] args) { int b;//局部变量 } } 
区别:
1.成员变量在类中,局部变量在方法中      
2.声明成员变量时可以不初始化(被final修饰且没有static的必须显式赋值),而局部变量必须手动初始化    3.成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及static修饰;两者都可 以定义成final型
4.成员变量存储在堆,局部变量存储在栈
5.存在时间不同      

类变量、实例变量、局部变量
类变量是类中独立于方法之外的变量,用static 修饰。
实例变量也是类中独立于方法之外的变量,不过没有static修饰。
局部变量是类的方法中的变量。
看下面的伪代码说明:
Java代码  收藏代码
  1. public class Variable{  
  2.   
  3.      static int allClicks=0;//类变量  
  4.   
  5.      String str="hello world";//实例变量  
  6.   
  7.      public void method(){  
  8.   
  9.         int i =0;//局部变量  
  10.   
  11.      }  
  12.   
  13. }  

实例变量也称为:“域”,“成员变量”,在实体类或数据类中被称为“属性”或“字段”。当实例变量可以改变时,被称为对象的状态。
final用于常量的声明,规范要求常量的变量名是大写的。
statci 在java 里面用于对类方法和属性进行修饰,其作用是什么呢?
有两种情况是non-static无法做到的,这时你就要使用statice。
第一种:你希望不论产生了多少个对象,或不存在 任何对象的情形下,那些特定数据的存储空间都只有一份;
第二种:你希望某个函数不要和class object绑在一起。即使没有产生任何object,外界还是可以调用其static函数,或是取用其static data。

阅读更多
个人分类: Java基础知识
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭