zoukankan      html  css  js  c++  java
  • 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);  
        }  
    }

    五、静态变量

    • 静态变量也是类的变量
    • 这种变量根据数据类型获取默认值
    • 存储在静态变量中的数据被所有的类对象共用
    • 静态变量的内存分配仅仅发生在类被加载到内存中
    • 静态变量可以被其他类使用类名来访问
    • 与其他非静态变量相比,静态变量可以直接被静态或者非静态方法访问
  • 相关阅读:
    Vue2.1.7源码学习
    JavaScript 复制对象【Object.assign方法无法实现深复制】
    数组去重你知道几种?
    基于webpack2.x的vue2.x的多页面站点
    欲练JS,必先攻CSS——前端修行之路
    闭包的7种形式
    遇见未知的CSS
    redux 个人整理
    log4j.properties打印日志信息(1)
    Java Web开发之Servlet、JSP基础
  • 原文地址:https://www.cnblogs.com/xujian2014/p/4997905.html
Copyright © 2011-2022 走看看