一、类变量(静态变量/静态属性)
1.什么是类变量?
- 类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量
- 类变量在类加载时就初始化了(所以即使没有创建对象,只要类加载了,就可以使用类变量
- 类变量的生命周期随类加载开始,随类消亡销毁
2.定义类变量
(1)访问修饰符 static 数据类型变量名;【推荐】
public static String name="小猫";
(2) static 访问修饰符 数据类型变量名;
static public String name="小猫";
3.访问类变量
(1)类名. 类变量名【推荐】
(2)对象名.类变量名
【注意:必须遵守访问权限】
(类变量在类加载时就初始化了(所以即使没有创建对象,只要类加载了,就可以使用类变量)
4.类变量使用场景
- 当我们需要让某个类的所有对象都共享一个变量时,就可以考虑使用类变量(静态变量)
(比如:定义学生类,统计所有学生共交多少钱。)
5.类变量与实例变量(普通属性)区别
- 类变量是该类的所有对象共享的,而实例变量是每个对象独享的
- 加上static称为类变量或静态变量,否则称为 “实例变量 / 普通变量 / 非静态变量”
- 类变量可以通过类名.类变量名或者对象名.类变量名来访问。实例变量不可以
静态变量 ->共用 静态方法-> 基本不会用到其对象实例的类的方法
二、类方法(静态方法)
1.类方法形式
(1)访问修饰符 static 数据返回类型方法名(){}【推荐】
public static void AA(){
System.out.println("喵喵喵....");
}
(2)static 访问修饰符 数据返回类型方法名(){}
static public void AA(){
System.out.println("汪汪汪....");
}
2.类方法调用
使用方式:
(1)类名. 类方法名
(2)对象名.类方法名
【前提是满足访问修饰符的访问权限和范围】
3.类方法使用场景
- 静态方法在无需实例化对象、实现工具方法、访问静态成员、实现工厂方法或单例模式等场景下非常有用。
- 当方法中不涉及到任何和对象相关的成员,则可以将方法设计成静态方法,提高开发效率。
(比如:工具类中的方法utils、Math类、Arrays…)
(说白了 就是一个工具 谁都可以拿来用 并不用开辟空间浪费内存)
4.类方法 与 普通方法
- 类方法和普通方法都是随着类的加载而加载,将结构信息存储在方法区;类方法中无this的参数,普通方法中隐含着this的参数
- 类方法可以通过类名调用,也可以通过对象名调用。
普通方法和对象有关,需要通过对象名调用(比如对象名.方法名(参数) ),不能通过类名调用。 - 类方法中不允许使用和对象有关的关键字(比如this和super)
普通方法(成员方法)可以。 - 普通方法可以访问静态成员,静态方法只能访问静态成员
【小结:普通可以访静态,静态只能访静态,且静态不能出现this super 】
静态变量 -> 共用
静态方法 -> 基本不会用到其对象实例的类的方法
标签:java,入门,访问,静态,---,对象,static,方法,变量
From: https://blog.csdn.net/2401_88623584/article/details/144092835