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

求详解求实例
2024-11-16 13:54:21
推荐回答(5个)
回答1:

成员变量就是类中的属性。当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、数据存储位置不同

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

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



回答2:

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

public class  ClassName{    

    int a;    

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

}

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

public class  ClassName{    

    static int a;    

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

}

扩展资料:

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

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

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

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

2、调用方式不同

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

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

3、别名不同

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

静态变量也称为类变量。

4、数据存储位置不同

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

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

回答3:

请参考这篇文章,讲得很清楚如何理解 Java 的类变量、成员变量、类属性、实例属性?

回答4:

在类中用static修饰的变量就是类变量。一个简单例子,比如说一个类:
class person{
public static int num;//用于记录人口的数量,类变量
public int age;//用于记录人的年龄,成员变量
person p=new person();//创建一个人类的对象
}

从类里面的属性定义来看,人口是类相关的,年龄是对象相关的。
类变量可以直接用类名加点来调用,当然也可以用对象来调用,不过不合理,因为人口不是一个人的属性。
而成员变量要由对象加点来调用。

回答5:

类变量属于成员变量
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值的变化