一、特点

1、随着类的加载而加载
2、优先于对象存在
3、被类的所有对象共享
4、可以通过类名调用

 

二、调用特征

静态方法:
  成员变量:只能访问静态变量
  成员方法:只能访问静态成员方法


非静态方法:
  成员变量:可以访问静态变量,也可以是非静态变量
  成员方法:可以访问静态成员方法,也可以是非静态成员方法

简单记:静态只能访问静态

原因:类优先于对象存在

 

三、案例分析

 1 package statics;
 2 /**
 3  * static关键字,案例1
 4  * @author zhongfg
 5  * @date 2015-06-16
 6  */
 7 class Person {
 8     
 9     private String name;
10     private int age;
11     public static String country;
12     
13     public Person(String name, int age) {
14         this.name = name;
15         this.age = age;
16     }
17     
18     public Person(String name, int age, String country) {
19         this.name = name;
20         this.age = age;
21         Person.country = country;
22     }
23     
24     public void show() {
25         System.out.println("姓名:"+name+",年龄:"+age+",国籍:"+country);
26     }
27 }
28 public class StaticDemo {
29 
30     public static void main(String[] args) {
31         
32         Person p1 = new Person("凤姐", 30, "中国");
33         p1.show();
34         
35         Person p2 = new Person("范冰冰", 34);
36         p2.show();
37         
38         Person p3 = new Person("Angelababy", 26);
39         p3.show();
40         
41         System.out.println("-----------------");
42         
43         //修改静态变量的值
44         Person.country = "美国";
45         p1.show();
46         p2.show();
47         p3.show();
48     }
49 }
50 
51 运行结果:
52 姓名:凤姐,年龄:30,国籍:中国
53 姓名:范冰冰,年龄:34,国籍:中国
54 姓名:Angelababy,年龄:26,国籍:中国
55 -----------------
56 姓名:凤姐,年龄:30,国籍:美国
57 姓名:范冰冰,年龄:34,国籍:美国
58 姓名:Angelababy,年龄:26,国籍:美国
View Code

相关文章: