类变量和类方法详解

类变量和类方法

说明

  1. 类变量,即静态变量,会被同一个类的所有实例对象共享
  2. static变量,在类加载的时候就生成了
  3. 类变量是随着类的加载而创建,所以即使没有创建对象实例也可以访问
  4. 类变量的访问必须遵守相关的访问权限

类变量

  • 类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象取访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时。修改的都是同一个变量。
定义语法
  • 访问修饰符 static 数据类型 变量名
访问
  • 类名.类变量名
  • 对象名.类变量名(静态变量的访问修饰符的访问权限和普通属性是一样的)
注意事项
  • 当需要让某个类的所有对象都共享一个变量时,就可以考虑使用类变量
  • 类变量是该类的所有对象共享的,而实例变量是每个对象独享的
  • 加上static称为类变量或静态变量,否则称为实例变量/普通变量/非静态变量
  • 类变量可以通过类名.类变量名 或者 对象名.类变量名 来访问,推荐使用类名.对象名方式访问
  • 实例变量不能通过类名.类变量名方式访问
  • 类变量是在类加载时就初始化了,也就是说,即使你没有创建对象,只有类加载了,就可以使用类变量了
  • 类变量的生命周期是随着类 的加载开始,随着类的消亡而销毁

类方法

基本介绍
  • 类方法也叫静态方法
  • 形式
    • 访问修饰符 static 数据返回类型 方法名(){}
类方法调用
  • 类名.类方法名
  • 对象名.类方法名
使用场景
  1. 当方法中不涉及到任何和对象相关的成员,则可以将方法设计成静态方法,太高开发效率
  2. 在程序开发中,往往会将一些通用的方法,设计成静态方法,比如工具类
注意事项
  • 类方法和普通方法都是随着类的加载而加载,将结构信息存储到方法区
  • 类方法中无this的参数,普通方法中隐含着this的参数
  • 类方法可以通过类名调用,也可以通过对象名调用
  • 普通方法和对象有关,需要通过对象名调用,比如对象名.方法名,不能通过类名调用
  • 类方法中不允许使用和对象有关的关键字,比如this和super,普通方法可以
  • 类方法中只能访问静态变量或静态方法
  • 普通成员方法即可以访问非静态成员,也可以访问静态成员
posted @ 2021-06-22 10:02  mx_info  阅读(896)  评论(0)    收藏  举报