JAVA 类变量和成员变量怎么理解

求详解求实例

成员变量就是类中的属性。当new对象的时候,每个对象都有一份属性。一个对象中的属性就是成员变量。在类内部,任何地方都可以访问成员变量。类变量是被static修饰的属性。作用范围在类变量定义之后。

class Person{       

//成员变量,实例变量       

String name;       

//静态变量,类变量,所有对象共享的属性用static修饰       

static String country = "CN";       

public void show(){            

System. out.println(country + ":" + name); }}

class StaticDemo{       

public static void main(String[]args){            

Personp = new Person();            

System. out.println(p.country);             //可以用类名直接调用            

System. out.println(Person.country);      }} 

扩展资料:

成员变量和类变量的区别:

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

成员变量随着对象的创建而存在,随着对象的回收而释放。

静态变量随着类的加载而存在,随着类的消失而消失。

2、调用方式不同

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

静态变量可以被对象调用,还可以被类名调用。

3、数据存储位置不同

成员变量存储在堆内存的对象中,所以也叫对象的特有数据。

静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。



温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-17

1、成员变量:定义在类中,方法体之外。变量在创建对象时实例化。成员变量可被类中的方法、构造方法以及特定类的语句块访问。示例如下:

public class  ClassName{    

    int a;    

    public void printNumber(){        // 其他代码    }

}

2、类变量:定义在类中,方法体之外,但必须要有 static 来声明变量类型。静态成员属于整个类,可通过对象名或类名来调用。

public class  ClassName{    

    static int a;    

    public void printNumber(){        // 其他代码    }

}

扩展资料:

成员变量和类变量的区别:

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

成员变量随着对象的创建而存在,随着对象的回收而释放。

静态变量随着类的加载而存在,随着类的消失而消失。

2、调用方式不同

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

静态变量可以被对象调用,还可以被类名调用。

3、别名不同

成员变量也称为实例变量。

静态变量也称为类变量。

4、数据存储位置不同

成员变量存储在堆内存的对象中,所以也叫对象的特有数据。

静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。

本回答被网友采纳
第2个回答  2021-08-04
第3个回答  2013-02-10
在类中用static修饰的变量就是类变量。一个简单例子,比如说一个类:
class person{
public static int num;//用于记录人口的数量,类变量
public int age;//用于记录人的年龄,成员变量
person p=new person();//创建一个人类的对象
}

从类里面的属性定义来看,人口是类相关的,年龄是对象相关的。
类变量可以直接用类名加点来调用,当然也可以用对象来调用,不过不合理,因为人口不是一个人的属性。
而成员变量要由对象加点来调用。
第4个回答  推荐于2017-10-12
类变量属于成员变量
java的类中有两种成员变量
一种就是类变量或静态变量 这类变量前面加油static关键字修饰
这类变量一旦赋值它的值就在你new出来的任何一个实例中具有相同的值

另一种叫做实例变量 前面不加static关键字修饰,每一个new出来的新实例都可以对他赋予自己需要的值

例子
class example{
static int a = 0;
int b = 1;
}

a是类变量,b是实例变量
example e1 = new exzample();
example e2 = new exzample();
改变e1中a的值会使e2中的a值也改变
而e1中b值的变化不会带来e2中a值的变化本回答被提问者采纳
相似回答