static的使用

来源:互联网 发布:蜜蜂软件 编辑:程序博客网 时间:2024/06/09 05:21

1.数据共享:

成员变量和静态变量的区别:

(1)生命周期不同:成员变量随着对象的创建而被创建,随对象的被收回而消失。静态变量随着类的加载而被创建,随着类的销毁而消失

(2)调用方式不同:成员变量只能被对象调用,静态变量还可以被类直接调用。

(3)数据的存储位置不同:成员变量->堆内存的对象中,也叫对象的特有属性,静态变量->方法区的静态区,也叫对象的共享区。

2.修饰变量:

每个对象共有的属性可以用static修饰,被修饰的变量可以被所有的对象共享。调用的时候用类名直接调用。

3.修饰方法:

(1)静态方法只能访问静态成员,非静态方法也可以访问静态属性

(2)静态方法中不可以使用this和super关键字

4.修饰代码块:静态代码块

随着类的加载而运行,而且只运行一次

作用:用于类的初始化

当类中的变量全是静态变量的时候,才使用静态代码块去初始化变量。

5.静态内部类:

1.做测试使用,不用在每个类中定义主方法,减少代码的重复

6.静态导包

 静态导包就是java包的静态导入,用import static代替import静态导入包是JDK1.5中的新特性。

一般我们导入一个类都用 import com…..ClassName;而静态导入是这样:import static com…..ClassName.*;这里的多了个static,还有就是类名ClassName后面多了个.* ,意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。然后在这个类中,就可以直接用方法名调用静态方法,而不必用ClassName.方法名 的方式来调用。

好处:这种方法的好处就是可以简化一些操作,例如打印操作System.out.println(…);就可以将其写入一个静态方

法print(…),在使用时直接print(…)就可以了。但是这种方法建议在有很多重复调用的时候使用,如果仅有一到两次调用,不如直接写来的方便



原创粉丝点击