类变量:
共识:
1.static变量是同一个类所有对象共享
2.static变量在类加载的时候就生成了
什么是类变量:
类变量也叫静态变量/静态属性。是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。
如何定义类变量:
访问修饰符 static 数据类型 变量名 ;(推荐)
static 访问修饰符 数据类型 变量名;
如何访问类变量
类名.类变量名 or 对象名.类变量名【静态变量的访问修饰符的访问权限和范围与普通属性是一样的】
类变量使用细节:
1.什么时候使用类变量
当我们需要让某个类的所有对象都共享一个变量时,就可以考虑使用类变量(静态变量);比如:定义学生类,统计所有学生共交多少钱
2.类变量与实例(普通)属性区别
类变量是该类的所有对象共享的,而实例变量是每个对象独享的
3.加上static成类变量或者静态变量,否则称为实例变量/普通变量/非静态变量
4.类变量可以通过 类名.类变量名 或者对象名.类变量名来访问,但是JAVA设计者推荐我们是用类名.类变量名【前提是满足访问修饰符的访问权限和范围】
5.实力变量不能通过类名.类变量名 来访问
6.类变量是在类加载时就初始化了,也就是说即使你没有创建对象,只要类加载了,就可以使用类变量了
7.类变量的生命周期就是随着类的加载开始,随着类的消亡而销毁
类方法:
介绍:
类方法也叫静态方法 形式如下:
访问修饰符 static 数据返回类型 方法名(){ }
static 访问修饰符 数据返回类型 方法名(){ }
类方法的调用
使用方法:类名.类方法名 或者 对象名.类方法名
类方法使用细节:
1.类方法和普通方法 都是随着类的加载而加载,将结构信息存储在方法区:
类方法中无this的参数
普通方法中隐含着this的参数
2.类方法可以通过类名调用,也可以用过对象名调用
3.普通方法和对象有关,需要通过对象名调用,比如对象名.方法名字(参数),不能通过类名调用
4.类方法中不允许使用对象有关的关键字,比如this和super。普通方法可以
5.类方法中只能访问静态变量和静态方法
6.普通成员方法既可以访问普通变量(方法)也可以访问类变量(方法)