static关键字
一、static修饰成员变量
如:public static onlineNumber=262;
1、特点
(1)属于类,在内存中只加载一次,可以被共享访问
(2)访问方式:类名.变量名(推荐)对象.变量名
2、静态成员变量与实例成员变量的区别
(1)实例成员变量存在每一个对象中
(2)实例成员变量只能通过(对象.变量名)去调用
3、内存分布图
二、static修饰成员方法
如:public static void getMax(){}
1、静态成员方法特点
(1)属于类,在内存中加载一次,可以被共享访问
(2)访问方式:类名.方法名()(推荐)对象.方法名()
2、实例成员变量的特点
(1)属于对象
(2)访问方式:对象.方法名
3、静态成员方法和实例成员方法的使用场景
(1)静态:该方法属于公用功能,且方法内部无需访问对象的东西,此时可以用静态成员方法
(2)实例:表示对象自己的行为,且要调用对象的实例成员,此时用实例成员方法
4、内存分布
三、static的访问特点
1、静态方法只能访问静态成员,不能直接访问实例成员(因为静态方法属于类,大的不能访问小的,小的可以访问大的)
2、实例成员可以访问静态成员和动态成员(因为实例成员属于对象,同时对象属于类)
3、静态方法中不能出现this关键字(因为this代表本类的对象)
4、代码块