码迷,mamicode.com
首页 > 编程语言 > 详细

java语言基础之面向对象之变量

时间:2017-09-10 16:47:47      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:性能   方法   开始   代码执行   数据类型   结束   logs   访问   strong   

---恢复内容开始---

定义变量的语法:

数据类型 变量名=值

-----------------------------------------------------------

变量根据在类中定义位置的不同,分成两大类:

成员变量:全局变量/字段(Field),不要称之为属性(错误)。直接定义在类中,方法外面。

      1):类成员变量  使用static修饰的字段。

      2):实例成员变量  没有使用static修饰的字段。

局部变量:变量除了成员变量,其他都是局部变量。

      1):方法内部的变量。

      2):方法的形参。

      3):代码块中的变量,一对{}。

class ABC
{
  String info=null;//成员变量
    void doWork(String name)
    {
          int age;//局部变量  
    }                  
}

-----------------------------------------

变量的初始值:初始化才会在内存中开辟空间。

成员变量:默认是有初始值的。

局部变量:没有初始值,,所以必须先初始化才能使用。

-------------------------------------------

变量的作用域

  变量根据定义的位置不同,也决定了各自的作用域是不同的。

成员变量:在整个类中都有效

局部变量:从开始定义的位置开始,到紧跟着结束的花括号为止

 

--------------------------------------------

成员变量,可以先使用后定义,局部变量必须先定义而后才能使用。

---------------------------------------------

  存在位置 生命周期开始 生命周期结束 在内存中的位置
类变量 字段,使用static修饰 为所在字节码被加载进JVM 当JVM停止 方法区
实例(成 员)变量 字段,没有使用static修饰 当创建所在类的对象的时候 当该对象被GC回收
局部变量 方法形参,代码块中,方法内 当代码执行到初始化变量的时候 所在的方法/代码块结束  

 

什么时候使用成员变量和局部变量:

1):考虑变量的生存时间,这会影响内存开销。

2):扩大变量作用域,不利于提高程序的高内聚。

开发中应该尽量缩小变量的使用范围,如此在内存中停留时间越短,性能也就越高。

不要动不动就使用static修饰,定义工具方法时static方法需要访问的变量,该变量属于类,此时才使用static修饰字段。

也不要动不动就使用成员变量,因为存在着线程不安全的问题,能使用局部变量尽量使用局部变量。

---恢复内容结束---

java语言基础之面向对象之变量

标签:性能   方法   开始   代码执行   数据类型   结束   logs   访问   strong   

原文地址:http://www.cnblogs.com/wangzishuai/p/7500948.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!