static关键字
1.static翻译为“静态”
2.所有static关键字修饰的都是类相关的,类级别的。
3.所有static修饰的,都是采用“类名.”的方式访问的。
4.static修饰的变量:静态变量。
5.static修饰的方法:静态方法。
变量的分类:
变量根据声明的位置进行划分:
在方法体当中声明的变量叫做:局部变量。
在方法体外声明的变量叫做:成员变量。
成员变量又可以分为:
实例变量
静态变量
class VarTest{
//以下实例的,都是对象相关的,访问时采用“引用.”的方式访问,需要先new对象。
//实例相关的,必须先有对象,才能访问,可能会出现空指针异常。
//成员变量中的实例变量。
int i;
//实例方法
public void m2{
}
//以下静态的,都是类相关的,访问时采用“类名。”的方式进行访问。不需要new对象。
//不需要对象的参与即可访问。没有空指针异常的发生。
//成员变量中的静态变量。
static int k;
//静态方法
public static void m1(){
int m = 100;
}
}
--------------------------------------------------------------------------------------------------------------------
1 public class StaticTest04{ 2 public static void main(String[] args){ 3 4 // 这是比较正规的方式,静态方法采用“类名.” 5 StaticTest04.doSome(); 6 7 //对象 8 StaticTest04 st = new StaticTest04(); 9 // 用“引用.”访问 10 st.doSome(); 11 12 // 空引用 13 st = null; 14 // 不会出现空指针异常 15 st.doSome(); // 这个代码在最终执行的时候还是会转变为:StaticTest04.doSome(); 16 17 // 实例方法doOther() 18 // 对象级别的方法(先new对象,通过“引用.”来访问) 19 //错误: 无法从静态上下文中引用非静态 方法 doOther() 20 //StaticTest04.doOther(); 21 22 StaticTest04 st2 = new StaticTest04(); 23 st2.doOther(); 24 25 // 空引用 26 st2 = null; 27 // 空引用调用实例方法会出现什么问题?空指针异常。 28 //st2.doOther(); 29 30 } 31 32 // 静态方法(静态方法不需要new对象,直接使用“类名.”来访问) 33 // 但是也可以使用“引用.”来访问,不建议用。(因为其他程序员会感到困惑。) 34 public static void doSome(){ 35 System.out.println("静态方法doSome()执行了!"); 36 } 37 38 // 实例方法(实例相关的都需要new对象,使用"引用."来访问。) 39 public void doOther(){ 40 System.out.println("实例方法doOther执行了!"); 41 } 42 } 43 44 /* 45 类{ 46 // 实例相关的都是需要new对象的,通过"引用."访问。 47 实例变量; 48 实例方法; 49 50 // 静态相关的都是采用“类名.”访问。也可以使用“引用.”,只不过不建议。 51 静态变量; 52 静态方法; 53 } 54 */