局部变量与成员变量的区别

上面已经说过了创建对象的方法,但为了规整性并没有进行过多的描述。

创建对象,对象空间成员变量的默认值
 SuperHero sh = new SuperHero();//上面提到的创建对象
 
 在创建对象的时候,没有对对象里面的成员变量进行赋初值操作,所以里面所有的
 成员变量都是 0 值
  常用数据类型的对应 0 值
  int  0
  byte 0
  long 0
  short 0
  
  double 0.0
  float 0.0f
  
  char '\0'
  
  boolean false
  
  String null  //引用数据类型的初值都是null 编号为0的内存


成员变量与局部变量的区别:

定义位置的区别:
   1. 成员变量是定义在类里面的
   2. 局部变量是定义在方法里面的普通变量
  
  作用上的区别:
   1. 成员变量是用来描述一类事物的公共属性 
   2. 局部变量是给函数提供一个用来保存数据的变量内存空间,只是当前函数或者代
   码块里面可以使用
  
  初始值的区别:
   1. 成员变量的初始值是在创建对象的时候才有的,如果创建时没有赋初值,那么所
   用的成员变量都是0值
   2. 局部变量在创建的时候,是没有确定值,只能通过赋值操作给予一个确定的数据
   ,在Java中不能使用未赋值局部变量
  
  [生存周期] 
   在代码中 一个变量或者一个对象从创建开始,到销毁结束,这就是他的生存周期
  
  生存周期的区别:
   1. 成员变量的生存周期是随对象创建而生,随着对象的销毁而不复存在【内存的堆
   区】
   2. 局部变量是在声明变量而生,在函数结束或者代码块结束,销毁【内存的栈区】


下面这段代码并不是对局部变量和成员变量的区分,但是可以在加深一下成员方法和成员变量的理解。

class Person {
 String name; //成员变量

 //成员方法
 public void eat() {
  int age = 12; //局部变量
  for (int i = 0; i < age; i++) {
   //在类的内部可以直接使用成员变量
   System.out.println(name  + "吃窝窝头~~~");
  }
 } 
}

public class Demo1 {

 public static void main(String[] args) {
  Person p1 = new Person();
  p1.name = "隔壁小王";
  p1.eat();
 }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,906评论 18 399
  • 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...
    iOS_恒仔阅读 6,791评论 1 6
  • 循环引用:http://ios.jobbole.com/82077/类别的作用功能:1.扩充现有类的功能2.对现有...
    得一切从简阅读 3,462评论 0 1
  • 今重阳, 自登高, 灵山宝寺看美景, 山路如蛇与鹰高。 稻黄秋绿炊烟起, 景颇小寨落山腰。 静听鸟鸣溪水, 远看尘...
    黔来客阅读 1,423评论 0 1
  • 早上起的有点晚,看见天色不好,但是也没找到伞。匆匆去学校,然后边加热培养基边看生物信息学的ppt和家庭作业,因为和...
    最佳姐妹阅读 2,256评论 0 0