java static关键字 以及使用注意事项

来源:互联网 发布:小米3能不能用4g网络 编辑:程序博客网 时间:2024/06/12 21:30
写代码的时候,有两种情况是new一个对象的方法无法解决的。1.只想在某一个特定的域分配一个单独的存储空间,不用去考虑究竟要创建多少对象,甚至于不用创建对象。2.希望某一个方法不与存在有这个方法的类的任何一个对象有关联。也就是说,不用创建对象来调用这个方法。这时候,我们可以用static关键字来解决。

Static 静态的;可以也只能用来修饰类的属性 (成员变量)、方法、代码块。

    当你用static修饰成员变量的时候,你不实例化这个类也可以使用该成员变量,JVM只为静态变量分配一次内存,所有使用该对象的类的这个成员变量都共享一个地址,每个类操作的地址都是一样的。所以说,在开发的时候,当你的这个静态属性不想被其他类直接修改的话最好前面再加上final修饰,一般用于全局变量。    当你用static描述方法的时候,你不实例化这个类也可以使用该方法,但是静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。    因为static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract。一般项目里面公共类会写成静态方法,这样方法就与所属类无关了,比如说时间操作类、数字计算类等等,或者对字符串做一些共同的操作。    当你用过static描述代码块的时候,这时候这个代码块会被jvm加载类的时候执行,一般用来初始化类属性的值。
0 0
原创粉丝点击