Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别

发布时间 : 星期一 文章Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别更新完毕开始阅读

Java成员变量、局部变量、静态变量、成员

方法、全局方法等概念的区别

在Java中,一个类体由2部分构成: 一部分是变量的定义;

一部分是方法的定义(一个类中可以有多个方法)

Java中的变量可以分为成员变量,全局变量 成员变量和局部变量的区别

成员变量:(类似于C中的全局变量的概念,所以也可以说是全局变量) ①成员变量定义在类中,在整个类中都可以被访问。

②成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。

③成员变量有默认初始化值。 局部变量:

①局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。 ②局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。 ③局部变量没有默认初始化值

在使用变量时需要遵循的原则为:就近原则

首先在局部范围找,有就使用;接着在成员位置找。 静态变量(也叫做类变量,类属性)

由static修饰的变量称为静态变量,其实质上就是一个全局变量。如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰;没有被静态修饰的内容,其实是属于对象的特殊描述。

成员变量和静态变量的区别

1、两个变量的生命周期不同

成员变量随着对象的创建而存在,随着对象被回收而释放。 静态变量随着类的加载而存在,随着类的消失而消失。 2、调用方式不同

成员变量只能被对象调用。

静态变量可以被对象调用,还可以被类名调用。 3、别名不同

成员变量也称为实例变量。 静态变量也称为类变量。 4、数据存储位置不同

成员变量存储在堆内存的对象中,所以也叫对象的特有数据。 静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。 列表对比:

成员变量、局部变量、静态变量的区别 成员变量 局部变量 静态变量 定义位置 初始化值 调用方式 存储位置 生命周期 别名 在类中,方法外 有默认初始化值 对象调用 堆中 与对象共存亡 实例变量 方法中,或者方法的形式参数 无,先定义,赋值后才能使用 --- 栈中 与方法共存亡 --- 在类中,方法外 有默认初始化值 对象调用,类名调用 方法区 与类共存亡 类变量

[java] view plain copy class Demo{

int x;// 非静态成员变量,又称为属性,对该类不同的对象来说,属性是不同的

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

public static void main(String[] args){

int m = 0;// 局部变量,是方法内部定义的变量,只在方法内部可见,在该方法结束后,由垃圾回收器自动回收 } }

Java中的方法可以分为成员方法,全局方法,构造方法 [java] view plain copy public class Test {

private int age; //这是成员变量

public Test(int age) { //这是构造方法 this.age = age; }

public void setAge(int age) { //这是成员方法 this.age = age; }

public static int getAge() { //这是全局方法,加了static关键字,成员方法就变成了全局方法

return this.age; } }

成员方法必须用类的实例化对象进行访问,而全局方法是直接可以用类名.方法名来访问的,

构造方法则是实例化对象时进行初始化的

联系合同范文客服:xxxxx#qq.com(#替换为@)