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 */
原文地址:https://www.cnblogs.com/HeSC980513/p/13151243.html