试题详情
简答题什么是类变量和类方法?
  • static可以用来修饰类的成员变量或成员方法,分别称为类变量(或静态变量)和类方法(或静态
    方法)。相应地,没有被static修饰的类的成员变量或成员方法称为实例变量或实例方法。 
    1.类变量 
    在生成每个类的实例变量时,Java运行系统为每个对象的实例变量分配一个内存空间,实例变量指向该内存空间,不同的实例变量占用不同的内存区域。对于类变量来说,Java运行系统为类的类变量分配公共的存储空间,该类的每个实例对象共享同一类变量的存储空间。因此,每个对象对类变量的修改都会影响其他实例对象。 
    类变量可以通过类名直接访问,也可以通过实例对象来访问,都是对同一内存单元的操作, 类变量的使用具有如下特点: 
    (1)类变量可以通过类名直接访问,而不需要创建对象 
    (2)任何一个对象对类变量的修改,都是在同一内存单元上完成的。因此,每个对象对类变量的修改都会影响其他实例对象。
    2.类方法 
    声明为static的方法称为类方法(或称静态方法),与此相对,没有static修饰的成员方法则为实例方法。类方法的本质是该方法属于整个类,而不是属于某个实例,可以不创建实例,直接通过类名调用。 
    类方法的使用具有以下特点: 
    (1)类方法可以通过类直接调用,而不需要创建实例对象。例如:Java Application的入口main()方法就被声明为static类方法,可以不需要创建任何实例对象对调用。 
    (2)类方法属于整个类,被调用时可能还没有创建任何对象实例,因此类方法内只可以访问类变量,而不能直接访问实例变量和实例方法。 
    (3)类方法中不能使用this关键字,因为静态方法不属于任何一个实例。
  • 关注下方微信公众号,在线模考后查看

热门试题