一、static的特点
1、随着类的加载而被加载
2、优先于对象 的存在
被static修饰的成员优先于对象的存在,对象是后来的,所以他可以调用先于对象存在的静态变量(被static修饰的成员变量为静态变量)
3、可以直接被类名调用
static随着类的加载而加载,当类加载了,静态成员也被加载了
4、存放位置
类变量(静态变量):随着类的加载存在于data内存中
实例变量”随着对象的建立存在于堆内存中
二、静态方法:被static修饰后的方法
1、静态的方法只能访问静态成员(静态变量)
2、非静态的方法既能访问静态成员(静态变量、静态方法),也能访问非静态成员
3、静态方法中不可以定义this、super关键字
因为静态优先于对象存在,this代表当前对象
说明:局部变量不能被static修饰
三、使用静态
1、使用静态成员
当属于一个类的所有对象出现共享数据时,需要将存储这个共享数据的成员变量用static修饰
2、使用静态方法
当功能内部没有访问到非静态成员时(对象特有数据),该功能可以定义成静态的