• java 关键字static


    在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块。

    Java把内存分为栈内存和堆内存,

    栈内存用来存放一些基本类型的变量、数组和对象的引用,

    堆内存主要存放一些对象。

    public class User {  
        private static int userNumber  = 0 ;  
          
        public User(){  
            userNumber ++;  
        }  
          
        public static void main(String[] args) {  
            User user1 = new User();  
            User user2 = new User();  
              
            System.out.println("user1 userNumber:" + User.userNumber);  
            System.out.println("user2 userNumber:" + User.userNumber);  
        }  
    }      
    ------------  
    Output:  
    user1 userNumber:2  
    user2 userNumber:2  
        
    

      

    2.1、static变量

    static修饰的变量我们称之为静态变量,没有用static修饰的变量称之为实例变量,他们两者的区别是:

    1.静态变量是随着类加载时被完成初始化的,它在内存中仅有一个,且JVM也只会为它分配一次内存,同时类所有的实例都共享静态变量,可以直接通过类名来访问它。

    2.实例变量则不同,它是伴随着实例的,每创建一个实例就会产生一个实例变量,它与该实例同生共死。

    ===所以我们一般在这两种情况下使用静态变量:对象之间共享数据、访问方便。

     2.2、static方法

           static修饰的方法我们称之为静态方法,我们通过类名对其进行直接调用。由于他在类加载的时候就存在了,它不依赖于任何实例,所以static方法必须实现,也就是说他不能是抽象方法abstract。

           Static方法是类中的一种特殊方法,我们只有在真正需要他们的时候才会将方法声明为static。如Math类的所有方法都是静态static的。

    2.3、static代码块

           被static修饰的代码块,我们称之为静态代码块,静态代码块会随着类的加载一块执行,而且他可以随意放,可以存在于该了的任何地方。

  • 相关阅读:
    如何:为 Silverlight 客户端生成双工服务
    Microsoft Sync Framework 2.1 软件开发包 (SDK)
    Windows 下的安装phpMoAdmin
    asp.net安全检测工具 Padding Oracle 检测
    HTTP Basic Authentication for RESTFul Service
    Windows系统性能分析
    Windows Server AppFabric Management Pack for Operations Manager 2007
    Mongo Database 性能优化
    服务器未能识别 HTTP 标头 SOAPAction 的值
    TCP WAIT状态及其对繁忙的服务器的影响
  • 原文地址:https://www.cnblogs.com/alamZ/p/7682556.html
Copyright © 2020-2023  润新知