class Member
{
static int classVar;
int instanceVar;
static void setClassVar(int i)
{
classVar=i;
}
static int getClassVar()
{
return classVar;
}
void setInstanceVar(int i)
{
classVar=i;
instanceVar=i;
}
int getInstanceVar()
{
return instanceVar;
}
}
public class MemberTest
{
public static void main(String args[])
{
Member m1=new Member();
Member m2=new Member();
m1.setClassVar(1);
m2.setClassVar(2);
System.out.println("m1.classVar="+m1.getClassVar()+"m2.classVar="+m2.getClassVar());
}
}
以上的程序为什么得出来的结果是m1.classVar=2m2.classVar=2,而不是m1.classVar=1
谢谢
谢谢,问题我重新补充了,麻烦你再看一下好吗?谢谢了
追答就是我上面说的静态方法和静态变量每个类只有一份,所以说Member类只能有一份static int classVar;这个变量,那就可以知道了m1.classVar = m2.classVar = Member.classVar,所以说你在m2中为classVar赋值了就是为这个类的classVar赋值了,所以m1.classVar 也等于2
本回答被提问者采纳JAVA中类中的实例方法可以操作类变量(static变量)吗?类方法(static方法...
调用一个静态方法就是“类名.方法名”,静态方法的使用很简单如上所示。一般来说,静态方法常常为应用程序中的其它类提供一些实用工具所用,在Java的类库中大量的静态方法正是出于此目的而定义的。静态变量 静态变量与静态方法类似。所有此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,...
实例变量是什么JAVA
在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。类的每个对象维护它自己的一份实例变量的副本。当一个对象被实例化之后,每个实例变量的值就跟着确定。实例变量在对象创建的时候创建,在对象被销毁的时候销毁。实例变量的值应该至少被一...
java 中,什么是实例变量(Instance Variables)
实例变量就是实例化该类对象才调用的非静态变量!class A{ int i;\/\/实例变量 public void mack() { int m =1;\/\/局部变量 } } 单你new 一个A的对象的时候!对象就会在内存中为i分配一个内存!你就可以调用该变量!单你调用mack方法时候才会为m分配内存进行调用!
java中为什么实例方法可以调用实例变量也可以调用类变量,而类方法只能...
实例方法随着实例的产生而产生,随着实例的消亡而消亡。并且实例方法是存储在内存中的堆中的,每一个实例,就在内存中存在一个该方法的副本 类方法是static的,和实例没有关系,存储在栈中,多个实例共享一个类方法。类如果直接调用方法,由于在内存中没有初始化,内存中不存在实例方法,所以类不能调用...
java中什么是实例变量,类变量,局部变量??
每个实例都将有实例变量的一个拷贝,它们可以修改实例变量的值,而不会影响其他的实例;而类变量只有一个拷贝,修改它的值将影响所有的实例。只在特定的过程或函数中可以访问的变量,被称为局部变量。与局部变量相对应的,是全局变量。全局变量就是从定义的位置起,作用域覆盖整个程序范围的变量。局部变量...
实例变量与类变量的区别
其它对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;1、实例变量:定义在类中但在任何方法之外,实例变量的作用域在本类中完全有效,当被其他的类调用的时候也可能有效;2、类变量:在java中,类的实例变量和静态变量称为类属变量或数据域。
java中静态变量和实例变量的区别?
在Java类中,静态变量和实例变量的概念与区别是编程中经常讨论的主题。静态变量,也被称作类变量,由static修饰符定义。它们存储在类的内存空间中,而不仅仅是属于某一个对象实例。这意味着,不管类被实例化多少次,静态变量只会有一个实例,可以被所有实例共享。静态变量和静态常量统称为静态成员。与之...
能以通俗易懂的的方式给我解释一下java中实例变量的定义吗?最好举一...
实例变量还是会有值!实例变量是声明在类中而不是方法中,局部变量是生命在方法中的,局部变量没有默认值,在使用前必须初始化,如果在变量初始前要使用的话,编译器就会报错。public class B { String a;public void A(){ String b="";} } 这个a就是实例变量,b就是局部变量 ...
java中类变量和实例变量的实质区别?
由于static方法是属于整个类的,所以它不能操纵和处理属于某个对象的成员变量,而只能处理属于整个类的成员变量,也即,static方法只能处理static域或静态方法。实例方法可以访问实例域, 静态域或静态方法, 记住都行。声明为static的方法有以下几条限制: 1.它们仅能调用其他的static方法。2.它们只能访问...
JAVA举例说明类变量、实例变量、类方法、实例方法在声明和使用时的区别...
即所有的实例共享一个类变量。例如一个银行帐户(Account)是一个class的话,可以把他的利息设为类变量(static float interest),而持有人是实例变量(String name), 这样只要改变 Account.interest就可以把所有人的利息都该了,而持有人的姓名则是属于单独的帐户的。