JAVA语言中,被static关键字修饰的成员变量和类变量有什么区别

 我来答
蓝风水晶灵
推荐于2016-10-05 · TA获得超过934个赞
知道小有建树答主
回答量:731
采纳率:0%
帮助的人:428万
展开全部
被static关键字修饰的变量叫静态变量,也就是所谓的类变量。
不被static关键字修饰的变量叫成员变量。
没有“被static关键字修饰的成员变量”这一说法。
1123419ql
推荐于2018-02-27 · TA获得超过302个赞
知道小有建树答主
回答量:306
采纳率:0%
帮助的人:178万
展开全部
比如说有一个类Dog;
属性:clolor,狗狗可以有好多颜色;
munberOfLegs =4 每只狗狗只有4条腿,这个就应该是静态的;

静态的属性不依赖于类的存在而存在,简单说,你可以定义
Dog dog1 = new Dog();
Dog dog2 = new Dog();
Dog dog3 = new Dog();
这里定义了三条狗狗,狗狗的颜色依赖于类本身,即dog1,dog2,dog3;三条狗狗可以有不同的颜色;
而狗狗的腿的数量不依赖于dog1,dog2,dog3;所有的狗狗都是4条腿
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
carefree527
2010-11-26 · 超过14用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:38.3万
展开全部
用static修饰的成员变量可以直接通过类访问,可以不通过类的实例。
比如有个类A,A下有个static的成员变量int b;那么A.b就可以访问到b的值了。当然也可以通过类的实例,比如 A a = new A(); a.b;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
snaillocke
2010-11-17 · TA获得超过200个赞
知道答主
回答量:57
采纳率:0%
帮助的人:78万
展开全部
举个例子:
package November;

public class StaticTest {
public static int count = 0;
public void count() {
public static int n = 0;//这里是不允许用static的,非静态的的方法里不可以定义静态的变量
}
public static void main(String[] args) {
StaticTest.count++;
new StaticTest().count++;
System.out.println(count);
}
}
如例子中的main方法,最终打印出来的将是2,static的变量或者方法是属于类的,你可以new出一个对象,就只可以直接通过类名直接调用它,也可以new出一个对象再调用,没有什么区别,但是本质上还是类直接调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式