1、修饰成员变量
(1)修饰的成员变量,不属于对象的数据结构。所以不能用this.调用。
(2)静态变量属于类,通常使用类名直接调用。
(3)静态变量与类的信息一起存在方法区中,只存在一份,是对象的共享资源。
2、修饰方法
(1)非静态的方法都是与对象有关系,可以使用this.调用。即:对象的方法。
(2)如果是static方法则与对象毫无关系,是类的方法,通常用类名直接调用。(常常与参数有关系 可以传形参进去)
(3)static方法内因为无法使用this关键字,因此不能直接访问非静态成员,但是可以间接访问就是通过创建对象可以访问非静态成员。(非静态成员分为非静态成员变量和非静态方法)
(4)static方法的作用一般都用于设计成“工具方法”和“工厂方法”
eg:Arrays.sort(数组名);------排序
Math.random();-------生成[0,1)之间任意一个小数。
Math.sqrt(参);---------开平方
Math.abs(参);-------- 绝对值
Math.sin(参);
3、static修饰代码块
static{
代码逻辑
}
静态代码块存储在方法区中,只加载一次,与对象无关,执行时机为加载类的信息期间,可以理解为在实例化之前。
作用:通常用于加载程序中所需要的静态资源:如:图片、音频、视频等。
非静态代码块
{
代码逻辑
}
非静态代码块与静态代码块,成员变量,方法都是类的成员。
=========================================================================================
常量:一般都是一些特殊值,一般都使用与成员变量,修饰词为:public static final
声明时必须初始化(如果在static静态代码块中初始化就可以不在声明时初始化了。)
命名规则:字母全都大写 eg:Math.PI