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

求详解求实例... 求详解求实例 展开
 我来答
绿郁留场暑
高粉答主

2020-01-18 · 说的都是干货,快来关注
知道小有建树答主
回答量:145
采纳率:100%
帮助的人:3.5万
展开全部

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

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

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



莫道無情
2019-11-17 · TA获得超过1.5万个赞
知道答主
回答量:317
采纳率:100%
帮助的人:8.4万
展开全部

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

public class  ClassName{    

    int a;    

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

}

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

public class  ClassName{    

    static int a;    

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

}

扩展资料:

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

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

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

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

2、调用方式不同

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

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

3、别名不同

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

静态变量也称为类变量。

4、数据存储位置不同

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

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿风话事
2021-08-04 · 说世间百态、聊奇闻趣事,分享个人观点和独到见解,感谢关注和支...
阿风话事
采纳数:16 获赞数:103

向TA提问 私信TA
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hdparrot
2013-02-10 · TA获得超过2403个赞
知道小有建树答主
回答量:1385
采纳率:0%
帮助的人:1145万
展开全部
在类中用static修饰的变量就是类变量。一个简单例子,比如说一个类:
class person{
public static int num;//用于记录人口的数量,类变量
public int age;//用于记录人的年龄,成员变量
person p=new person();//创建一个人类的对象
}

从类里面的属性定义来看,人口是类相关的,年龄是对象相关的。
类变量可以直接用类名加点来调用,当然也可以用对象来调用,不过不合理,因为人口不是一个人的属性。
而成员变量要由对象加点来调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
木木青青4
推荐于2017-10-12 · TA获得超过647个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:170万
展开全部
类变量属于成员变量
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值的变化
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式