Java_面向对象static关键字

 1 /*
 2 static 关键字:
 3 1,被static修饰的成员变量,被所有对象所共享
 4 2,静态随着累的加载而加载,随着类的消失而消失
 5 3,优先于对象存在
 6 4,静态成员可以直接被类名所调用
 7 
 8 
 9 static的使用注意事项
10 1,静态方法只能调用静态成员,不能调用非静态成员。
11     非静态方法可以调用静态成员,也可以调用非静态成员
12 2,在静态方法中不允许出现this,super关键字
13     this代表对象,而静态方法执行时还没有对象呢!
14 3,主函数是静态函数
15 静态是有访问局限性的,只能访问静态的内容
16 
17 
18 静态成员变量和非静态成员变量的区别:
19 1,非静态成员变量又称为实例变量即对象变量
20     静态成员变量又称为类变量
21 
22 2,非静态成员变量,随着对象的创建而存在,随着对象的消失而消失
23 静态成员变量,随着类的加载而存在,随着类的消失而消失
24 
25 3,非静态变量存在于对象内存中
26 静态变量存在于方法区中
27 
28 4,非静态变量只能被对象调用
29 静态变量可以被类名调用,也可以被对象调用
30 
31 */
32 class Person
33 {
34     String name;
35     static String country = "CN";//想要将对象中的相同数据进行对象的共享,就可以对该数据进行修饰。。
36                             //    该修饰符就是static
37     public void show()
38     {
39         System.out.println("name="+name);
40         System.out.println("country="+country);//country --->Person.country
41     }
42 }
43 
44 class  StaticDemo
45 {
46      int x=4;
47     public static void main(String[] args) 
48     {
49         /*Person p = new Person();
50         p.name="xiaoqiang";
51         p.show();
52         //静态存在时还没有对象,要被调用,此时只有类可以完成
53         //静态成员多了一种调用方式  类名.静态成员*/
54 
55         System.out.println(Person.country);
56         new StaticDemo().show();//调用成员有两种方式,一个是对象,一个是类(必须要保证被调用的是静态成员)
57     }
58     public  void show()
59     {
60         System.out.println("x="+x);
61     }
62 }
63  

posted @ 2017-11-16 16:20  BirdieForLove  阅读(163)  评论(0编辑  收藏  举报