Java static关键字 - Go语言中文社区

Java static关键字


一、概述

  本文将讨论Java static关键字的使用。它可以被用于类名、变量、方法和块。

二、静态类

  只有当一个类为嵌套类时才能使用static,这个嵌套类可以不使用外部类的对象就可以访问。例子:
public class TestMain  
{  
  static class X  
    {  
    static String str="Inside Class X";  
    }  
public static void main(String args[])  
    {  
        X.str="Inside Class TestMain";  
        System.out.println("String stored in str is- "+ X.str);  
    }     
}  
  注意:静态的内部类不能访问外部类的实例数据。例子:
 

三、静态代码块

  静态块通常被用来改变静态变量的默认值。静态块在类被加载到内存的时候执行,一个类可以有多个静态块,它们的执行顺序与定义顺序相同。例子:
 
public class TestMain  
{  
    static  
    {  
        i=20;  
    }  
  static int i = 10;  
  public static void main(String[] args)  
    {  
        System.out.println(i);  
    }  
  static  
    {  
        i = 30;  
    }  
}  
  执行的结果是:30
  上面的代码等价于:
public class TestMain  
{  
  static int i;  
  static  
    {  
        i=10;  
        i=20;  
        i=30;  
    }  
  public static void main(String[] args)  
    {  
        System.out.println(i);  
    }  
}  

四、静态方法

  静态方法能够不使用类对象来访问类的成员变量。它可以通过使用对象来访问非静态方法和非静态变量。静态方法可以被静态的或者非静态方法直接访问。例子:
public class TestMain  
{  
    static int i;  
    static String s;  
    public static void main(String args[]) //Its a Static Method  
    {  
        //TestMain obj=new TestMain();  
        System.out.println(i);  
        System.out.println(s);  
    }  
}

五、静态变量

  • 静态变量也是类的变量
  • 这种变量根据数据类型获取默认值
  • 存储在静态变量中的数据被所有的类对象共用
  • 静态变量的内存分配仅仅发生在类被加载到内存中
  • 静态变量可以被其他类使用类名来访问
  • 与其他非静态变量相比,静态变量可以直接被静态或者非静态方法访问

转载于:https://www.cnblogs.com/xujian2014/p/4997905.html

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/dengduoya4019/article/details/101233003
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 19:48:35
  • 阅读 ( 938 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢