09.static关键字的作用

  • 静态成员变量的语法特点
    • 可以用类名调用,也可用对象调用
    • 静态成员变量和普通成员变量的对比
      • 所用对象使用的静态成员变量都是同一份
      • 静态成员变量属于类,而不属于对象
      • 静态成员变量中任意一个成员变量的值的修改,其他所有成员的值也会修改
    
 
  1. classPerson{
  2. staticint i;
  3. }
 
  1. classTest{
  2. publicstaticvoid main(String args []){
  3. Person p1 =newPerson();
  4. Person p2 =newPerson();
  5. Person.i =10;
  6. System.out.println("p1的i的值为"+ p1.i);
  7. System.out.println("p2的i的值为"+ p2.i);
  8. p1.i =20;
  9. System.out.println("p1的i的值为"+ p1.i);
  10. System.out.println("p2的i的值为"+ p2.i);
  11. }
  12. }
 
 
  • 静态函数的语法特点
    • 函数前面需要加 static 
    • 静态函数可以用类名直接调用
    • 不能直接使用非静态变量
 
  1. classPerson{
  2. staticString name;
  3. staticvoid talk(){
  4. System.out.println("my name is "+ name);
  5. }
  6. }
 
  1. classTest{
  2. publicstaticvoid main(String args []){
  3. Person.name ="ZhangSan";
  4. Person.talk();
  5. }
  6. }
 
 
  • 静态代码的语法特点
    • 在类装载的时候运行
    • 为静态成员变量赋值
 
  1. classPerson{
  2. static{
  3. System.out.println("静态代码块");
  4. }
  5. staticString name;
  6. staticvoid talk(){
  7. System.out.println("my name is "+ name);
  8. }
  9. }
 
  1. classTest{
  2. publicstaticvoid main(String args []){
  3. Person.name ="ZhangSan";
  4. Person.talk();
  5. }
  6. }
 
 





posted @ 2016-08-28 17:14  ArronEve  阅读(140)  评论(0编辑  收藏  举报