合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
### 概念 当在定义类的时候,类中都会有相应的属性和方法。而属性和方法都是通过创建本类对象调用的。当在调用对象的某个方法时,这个方法没有访问到对象的特有数据时,方法创建这个对象有些多余。可是不创建对象,方法又调用不了,这时就会想,那么我们能不能不创建对象,就可以调用方法呢? 可以的,我们可以通过static关键字来实现。static它是静态修饰符,一般用来修饰类中的成员。 ### 特点 1. 被static修饰的成员变量属于类,不属于这个类的某个对象。(也就是说,多个对象在访问或修改static修饰的成员变量时,其中一个对象将static成员变量值进行了修改,其他对象中的static成员变量值跟着改变,即多个对象共享同一个static成员变量). 2. 被static修饰的成员可以并且建议通过类名直接访问(也可以通过对象调用)。 ### 注意 1. 静态内容是优先于对象存在,只能访问静态,不能使用this/super。静态修饰的内容存于静态区 2. 同一个类中,静态成员只能访问静态成员 . 3. main方法为静态方法仅仅为程序执行入口,它不属于任何一个对象,可以定义在任意类中 . ### 静态常量 1. 我们想在类中定义一个静态常量,通常使用public static final修饰的变量来完成定义。此时变量名用全部大写,多个单词使用下划线连接。 2. 接口中的每个成员变量都默认使用public static final修饰。 3. 所有接口中的成员变量已是静态常量,由于接口没有构造方法,所以必须显示赋值。可以直接用接口名访问。 4. 常量名要全大写 . ### 什么时候使用静态 1. 成员变量 : 将共性数据定义为静态 . 2. 成员方法 : 跟着变量走 , **如果方法没有调用过非静态变量, 那么将方法也定义为静态** . 3. 比如一个中国人类,age,name,job都是实例域,nation是静态域. ![](https://box.kancloud.cn/d225fa885114432b06a940a54a4f896e_1189x536.png)