19. 什么是类成员,什么是实例成员?他们之间有什么区别?

如题所述

JAVA实例成员和类成员

 用static 关键字可以声明类变量和类方法,其格式如下:
  static type classVar;
  static returnType classMethod({paramlist}) {
  …
  }
 
  如果在声明时不用static 关键字修饰,则声明为实例变量和实例方法。
  1) 实例变量和类变量
  每个对象的实例变量都分配内存,通过该对象来访问这些实例变量,不同的实例变量是不同的。
  类变量仅在生成第一个对象时分配内存,所有实例对象共享同一个类变量,每个实例对象对类变量的改变都会影响到其它的实例对象。类变量可通过类名直接访问,无需先生成一个实例对象,也可以通过实例对象访问类变量。

  2) 实例方法和类方法
  实例方法可以对当前对象的实例变量进行操作,也可以对类变量进行操作,实例方法由实例对象调用。
  但类方法不能访问实例变量,只能访问类变量。类方法可以由类名直接调用,也可由实例对象进行调用。类方法中不能使用this或super关键字。

  例3-7 是关于实例成员和类成员的例子。

【例3-7】
  class Member {
    static int classVar;
    int instanceVar;
    static void setClassVar(int i) {
     classVar=i; // 类方法可以访问类变量
     // instanceVar=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.setInstanceVar(11);
         m2.setInstanceVar(22);
         System.out.println("m1.InstanceVar="+m1.getInstanceVar
              ()+" m2.InstanceVar="+m2.getInstanceVar());
     }
    }

参考资料:http://hi.baidu.com/dongguoh/blog/item/4b0f9545161c8e3f879473c5.html

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-01
类成员 是大家共有一个,属于类的
实例成员 就是一人一个 属于对象
第2个回答  2017-10-26
类成员就是被static修饰的成员变量,比如 static int n;当类加载的时候它就会被加载
实例成员是没有被static 修饰的成员变量, 比如 int m;加载类的时候它不会被加载,而是等到创建对象时才会被实例化.实例成员是慢于类成员被加载的
方法同样如此,被static修饰的方法随着类的加载而执行,此时还没有创建对象,那些没有被static修饰的方法就不能执行,所以在类方法中不能调用没被static修饰的方法

实例成员和类成员的区别
2.类成员 类成员(静态成员)需要用关键字static标识,类成员包括,类成员变量和类成员方法,类成员是隶属于类的,意思是说通过类名可以直接访问类成员变量或调用类成员方法,即使没有创建对象,也能够引用类成员 二、类变量和实例变量的区别:1、声明的差别:没有使用static声明的为实例成员属性,用static...

类成员变量和实例成员变量分别指什么有什么区别(举例说明)?
主要区别就是访问是需不需要创建对象,而对于类成员变量,所有对象是共享一个变量的。

类成员属性和实例成员属性的区别
类的成员属性是类的状态,例如:人:是一个类,人有鼻子、耳朵、手就是属性,而跑、走就是类的方法。人 实例=new 人()。实例.鼻子=大鼻子 等,实例就是对状态的一个修改与引用。

请问一下类的静态成员与对象实例的成员之间的关系
静态成员又叫类成员,指的是用static修饰符所修饰过的变量或方法。实例成员就是没有用static修饰的变量或方法。主要不同就是这有没有static修饰。造成的结果是静态成员可以直接由类名调用,而实例成员还要用new标示符进行实例化,长生对象才能去调用方法和变量。(了解即可,不必记忆) 深层原因是静态成员...

成员函数与实例成员函数区别
函数成员是包含可执行语句的成员。函数成员总是类型的成员,不能是命名空间的成员。就是函数中的语句的具体成员吧,比如e[x, y] = value等等 成员函数是类中的函数void SetM(int x)本身就是A的成员函数 而m=x是函数void SetM(int x)的函数成员 ...

C# 中类的成员有哪些?
1、成员分类:(1)、时间:类的成员或者是静态成员(static member)---属于类。实例成员(instance member)---属于对象。(2)、空间:属性、方法、索引、代理、事件、嵌套类、字段。2、成员的可访问性:类的每个成员都有关联的可访问性,它控制能够访问该成员的程序文本区域。3、成员的修饰符:abstra...

什么是类的成员
就是类里面的所有东西,包括成员变量和成员函数,类是对现实生活中一类具有共同特征的事物的抽象。如果一个程序里提供的类型与应用中的概念有直接的对应,这个程序就会更容易理解,也更容易修改。一组经过很好选择的用户定义的类会使程序更简洁。此外,它还能使各种形式的代码分析更容易进行。特别地,它还会...

什么是类变量,类方法,什么是实例变量,实例方法?
这就是OC的消息机制,目前最常用的也是这一种表示形式 3.类方法的意思是不需要声明一个对象(实例)就可以直接调用的方法,通常是有返回值的(否则类方法就无意义了,因为没有对象或者相应的成员变量的值可以设置)。作用就是返回一些这个类特定的实例,比如字符串的[NSString stringWithFormat:@""];这个类...

什么是类,对象,属性,方法,成员
类:是一类事物抽象的集合,其中包含静态属性和动态行为 对象:类的实例化 例子:teacher类 所有的老师都属于这个类,这个类包含的“姓名”,“年龄”等就类的静态属性,老师都有“教书”这个行为,这就是类的方法

什么叫做实例?
实例的变量,每个实例的变量可能不同。实例方法(instance method):或叫成员方法(member method)。供实例用的方法,必须要先有实例,才能通过此实例调用实例方法。类变量(class variable):或叫静态域、静态字段(static field),或叫静态变量(static variable)。出现在这样的情况下:一个类的所有实例需要一个公有的属性,...

相似回答