JAVA基础之局部变量与全局变量以及成员变量的区别

局部变量

定义:在方法内定义的变量称为“局部变量”或“临时变量”,方法结束后局部变量占用的内存将被释放。

全局变量

定义:全局变量,又称“外部变量”,它不是属于哪个方法,作用域从定义的地址开始到源文件结束。

注意事项:

当局部变量与全局变量重名时,起作用的是局部变量。

成员变量

定义:在类体的变量部分中定义的变量,也称为字段。

区别:

java中没有全局变量的定义,这是C中的例:
class Demo{
    int x;// 非静态成员变量,又称为属性,对该类不同的对象来说,属性是不同的

    static int y;// 静态成员变量,一个类中只有一个该变量,该类不同的对象共享同一个静态成员变量

    public static void main(String[] args){
        int m = 0;// 局部变量,是方法内部定义的变量,只在方法内部可见,在该方法结束后,由垃圾回收器自动回收
    }

}

原文地址:https://www.cnblogs.com/mr-hu2009/p/9346690.html

时间: 2024-10-11 17:47:56

JAVA基础之局部变量与全局变量以及成员变量的区别的相关文章

局部变量和全局变量以及成员变量的区别

import <Foundation/Foundation.h> @interface Person : NSObject { // 写在类声明的大括号中的变量, 我们称之为 成员变量(属性, 实例变量) // 成员变量只能通过对象来访问 // 注意: 成员变量不能离开类, 离开类之后就不是成员变量 \ 成员变量不能在定义的同时进行初始化 // 存储: 堆(当前对象对应的堆的存储空间中) // 存储在堆中的数据, 不会被自动释放, 只能程序员手动释放 int age; } @end @impl

JAVA类与对象(四)----成员变量与局部变量 、成员方法、构造方法

类体中的变量分为两部分.变量定义部分定义的变量为类的成员变量,在方法体中定义的变量和方法中涉及的变量称为局部变量. 成员变量和局部变量的区别: (1).成员变量在整个类中都有效,局部变量只在定义它的方法中有效 (2).成员变量分为实例成员变量(简称实例变量)和类变量(简称静态变量),如果在成员变量类型前加static,这个变量就称为类变量. (3).如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏 ,也就是说,这个成员变量在这个方法中暂时失效. 例: public class Benso

C++局部变量、全局变量、静态变量(堆、栈、静态存储区)

1 static关键字 1.1 隐藏 eg: //a.c文件中 char a = 'A'; void msg() { printf("Hello\n"); } //main.c文件中 extern char a; printf("%c",a); 输出结果:A Hello 所有未加static前缀的全局变量和函数都具有全局可见性,其它的源文件也能访问.a是全局变量,msg是函数,并且都没有加static前缀,因此对于另外的源文件main.c是可见的. 如果加了stat

java基础之集合List-ArrayList、LinkedList、Vector的区别

PS:本篇博客主要参考jdk的底层源码,而非自己动手写代码. 请问ArrayList.LinkedList.Vector的区别 ①ArrayList底层实际上是采用数组实现的(并且该数组的类型的Object类型的) ②如果jdk6,采用Array.copyOf()方法来生成一个新的数组,如果是jdk5,采用的是System.arraycopy()方法(当添加的数据量大于数组的长度时候) ③List list = newArrayList()时,底层会生成一个长度为10的数组来存放对象 ④Arra

Java基础语法(一)---关键字、常量、变量、运算符

Java基础语法(一)---关键字.常量.变量.运算符一.关键字 定义:被Java赋予了特殊含义的单词. 特点:体现上都是英文小写. 1. 用于定义数据类型的关键字 基本数据类型: 整数类型: byte(1字节,最大值127) short(2字节,最大值为2^15-1) int(4字节,最大值为2^31-1) long(8字节,最大值为2^63-1) 浮点类型: float (单精度实数在内存中占32bit 有效数字为6~7位) double(双精度实数占内存单元为64bit 有效数字为15~1

静态变量和成员变量的区别 &amp;&amp; 成员变量和局部变量的区别

============================================================================= 1)静态变量和成员变量的区别: (1):所属不同: 静态变量:属于类,也称为类变量. 成员变量:属于对象,也称为对象变量或实例变量. (2):在内存中的位置不同: 静态变量:存储于方法区的静态区. 成员变量:存储于堆内存. (3):生命周期不同: 静态变量:静态变量是随着类的加载而加载,随着类的消失而消失. 成员变量:成员变量是随着对象的创建

Java反射理解(四)-- 获取成员变量构造函数信息

Java反射理解(四)-- 获取成员变量构造函数信息 步骤 获取成员变量信息: obj.getClass() 获取类类型对象 成员变量也是对象,java.lang.reflect.Field 类中封装了关于成员变量的操作: getFields() 方法获取的是所有的public的成员变量的信息 getDeclaredFields() 获取的是该类自己声明的成员变量的信息 getType() 得到成员变量的类型的类类型 getName() 得到成员变量的名称 获取成员变量构造函数信息: obj.g

全局变量和静态变量的区别

全局变量具有外部连接性,即同一工程中其它文件中的也可引用. 而静态变量不具有外部连接性,即同一工程中其它文件中不可以引用. 如: //cpp1.cpp extern int x=10; static int y=5; //cpp2.cpp #include <iostream.h> void main() { extern int x; extern int y; cout<<x<<endl; cout<<y<<endl; } 将这两个文件放在同

C#自定义属性(跟成员变量的区别)

属性声明 public int age { get; set; } 从功能上等价于 private int m_age; public int age {get { return m_age; }set { m_age = value; }} 在这里,属性和成员变量的区别不大. 等价于 public int age; 也就是一开始的时候, 无视 有限性.读写权限的情况下.先偷懒, 写成public int age { get; set; } 项目写到某个阶段了, 要求 age 数值必须有效了.