01-面向对象(Static关键字)
1 package myFirstCode; 2 3 /* 4 静态:static。 5 用法:是一个修饰符,用于修饰成员(成员变量,成员函数) 6 当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外, 7 还可以直接被类名调用。类名.静态成员。 8 9 static特点: 10 1,随着类的加载二加载。 11 2,优先于的对象存在 12 3,被所有对象所共享 13 4,可以直接被类名所调用 14 15 实例变量和类变量的区别: 16 1,存放位置。 17 类变量随着类的加载而存在于方法区中。 18 实例变量随着对象的建立而存在于堆内存中。 19 2,生命周期: 20 类变量生命周期最长,随着类的消失而消失。 21 实例变量生命周期随着对象的消失而消失。 22 23 静态有利有弊: 24 利处:对对象的共享数据进行单独空间的存储,节省空间。没有必要每一个对象中都存储一份。 25 可以直接被类名调用。 26 弊端:生命周期过长。 27 访问出现局限性。(静态虽好,只能访问静态) 28 29 */ 30 31 class StaticDemo { 32 33 class Person 34 { 35 String name;//成员变量,实例变量。 36 static String country = "CN";//静态的成员变量,类变量。 37 public static void show() 38 { 39 System.out.println("::::"); 40 this.haha(); 41 } 42 public void haha() 43 {} 44 } 45 public static void main(String[] args) { 46 // TODO Auto-generated method stub 47 Person.show(); 48 } 49 50 }