成员变量和局部变量(2)

成员变量的初始化和内存中的运行机制

        当系统加载类或者创建类的实例的时候,系统会自动为成员变量分配内存空间,并自动指定初始值。

package object;  

public class Person {
//定义一个静态的变量
public static String city;
//定义一个非静态的变量
public String name; public static void main(String[] args) { /*当person类加载的时候,静态变量就已经存在了,在堆内存中*/
//实例化person对象 在堆内存中创建一个person对象
//里面有一个属性name = null;
//在栈内存中有一个p指向这个对象
Person p = new Person();
//给name属性赋值
p.name="郑小辉";
//通过类名给city赋值
Person.city="合肥";
//通过对象给city赋值
p.city="蚌埠";
//创建一个新的person对象
Person p1 = new Person();
//给name赋值
p1.name="郑大钱";
}
}

局部变量的初始化和内存中的运行机制

        局部变量(除了形参)必须要显性初始化后才能使用,系统不会为局部变量执行初始化,也就是定义了局部变量之后,系统不会给这个变量分配内存空间,直到程序为变量赋初始值之后,系统才会给他分配内存空间并将初始值保存在里面。

        局部变量不属于任何类或实例,所以总是会保存在所在方法的栈内存中,基本数据类型保存的是数据本身,引用数据类型保存的是引用

        栈内存中的变量无需系统垃圾回收,局部变量只保存基本数据类型的值或对象的引用,所以占得内存区通常比较小。

【java基础】成员变量和局部变量02的更多相关文章

  1. Java基础-成员变量与局部变量

    Java基础-成员变量与局部变量 1.什么是成员变量与局部变量? public class Student {   String name;   int high;   public void stu ...

  2. java中成员变量,局部变量,静态变量的辨析

    转自百度:https://baijiahao.baidu.com/s?id=1625360816541592483&wfr=spider&for=pc 1.java中成员变量,局部变量 ...

  3. java 线程---成员变量与局部变量

    关于成员变量与局部变量: 如果一个变量是成员变量,那么多个线程对同一个对象的成员变量进行操作时,他们对该成员变量是彼此影响的(也就是说一个线程对成员变量的改变会影响到另一个线程) . 如果一个变量是局 ...

  4. Java中成员变量和局部变量的区别

    java面向对象过程中,最基本的两类变量就是成员变量和局部变量 成员变量是写在类中并且写在方法外部,一般写在每个类的头部,用于初始化或者方法操作,作用域是整个类被实例化到被销毁,中间变量都可以被外部方 ...

  5. [ 转载 ] Java中成员变量 和局部变量

    java语言支持的变量类型 类变量:独立于方法之外的变量,用 static 修饰. 局部变量:类的方法中的变量. 实例变量(全局变量):独立于方法之外的变量,不过没有 static 修饰. publi ...

  6. java中成员变量和局部变量在内存中的分配

    对于成员变量和局部变量:成员变量就是方法外部,类的内部定义的变量:局部变量就是方法或语句块内部定义的变量.局部变量必须初始化. 形式参数是局部变量,局部变量中基础数据类型的引用和值都存储在栈中,对象引 ...

  7. Java:成员变量、局部变量和静态变量

    梳理一下: 根据定义变量位置的不同,可以将变量分成两大类:成员变量和局部变量. 成员变量(俗称全局变量):在类里定义的变量.又分为实例变量和类变量(也成为静态变量). 实例变量:不以static修饰, ...

  8. 第3章 Java语言基础----成员变量与局部变量

    在对局部变量进行赋值时,不能对非静态字段age进行静态引用,图1错误,加上static后图二正确,图3与图4类似,如下图所示: 图1图2 图3图4 2.成员变量times在类中定义,局部变量times ...

  9. JAVA:成员变量和局部变量的区别

    1.作用于不同: 局部变量的作用域仅限于定义它的方法 成员变量的作用域在整个类的内部都是可见的 2.初始值不同 JAVA会给成员变量一个初始值 JAVA不会给局部变量赋予初始值 3.在同一个方法中,不 ...

随机推荐

  1. sublime text3 前端编译神器,浏览器实时显示

    前端编译器有很多,Dreamweaver,sublime text ,webstorm,但在使用之后感觉sublime text3就是前端的编译神器 首先sublime text3最好使用英文原版,虽 ...

  2. DarkStone - 跨平台移动应用开发之 Flex 的崛起

    我的好友Ds 发布一个flex的消息.我帮忙转发 DarkStone - 跨平台移动应用开发之 Flex 的崛起 (2013-08-20 22:28:32)     此文章由 周戈 (DarkSton ...

  3. jqGrid设置指定行的背景色

    1.在页面中加样式 <style type="text/css"> .SelectBG{ background-color:#AAAAAA; } </style& ...

  4. mac 10.11 cocopods注意的地方

    最近安装cocoapods,遇到些新问题,安装过程纠结了一天,先是ruby版本的问题,解决掉了,后来又是ruby下载cocoapods慢的问题,尝试了好几遍都下载不成功.最后也是不断尝试和查询,算是安 ...

  5. java的异常

    下面是我对Java异常知识的几个小总结,也算是资源回收一下 一.Java异常的知识 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的.比如说,你的代码少了一个分号,那么运 ...

  6. arm 2440 linux 应用程序 nes 红白机模拟器 第2篇 InfoNES

    InfoNES 支持 map ,声音,代码比较少,方便 移值. 在上个 LiteNES  的基础上,其实不到半小时就移值好了这个,但问题是,一直是黑屏.InfoNES_LoadFrame ()  Wo ...

  7. weboffice控件使用不能嵌入网页

    var s = ""s += "<object id=WebOffice1 height=586 width='100%' style='LEFT: 0px; TO ...

  8. 在webapp上使用input:file, 指定capture属性调用默许相机,摄像,录音功能

    ## 在webapp上使用input:file, 指定capture属性调用默认相机,摄像,录音功能 在iOS6下开发webapp,使用inputz之file,很有用 <input type=& ...

  9. PHP之图片上传类(加了缩略图)

    有缩略图功能 但是 感觉不全面,而且有点问题,继续学习,将来以后修改下 <form action="<?php $_SERVER['PHP_SELF']; ?>" ...

  10. SourceTree 免登录跳过初始设置 - 转

    转自:http://www.cnblogs.com/xiofee/p/sourcetree_pass_initialization_setup.html 在SourceTree的配置目录新建(或修改) ...