static关键字
来源:互联网 发布:河南省的大数据谷是 编辑:程序博客网 时间:2024/05/16 11:01
使用关键字static修饰的变量和方法被称为静态变量(也叫类变量)和静态方法(也叫类方法)。和没有被static修饰的成员变量和方法与类的某个对象相关联不同,使用关键字static修饰的变量和方法是与类关联的,其值和方法会被类的所有实例共享。即使没有创建该类的对象,也可以使用类名来调用静态变量和静态方法。
使用static关键字修饰的变量称为静态变量,也叫类变量。该静态变量会被类所有的实例共享,不管在类中创建多少个对象,它们所引用的都是同一个内存区域的值。它是属于类的,不依赖于某个对象。除了可通过创建对象来访问以外,还可以使用类名.静态变量的方式调用静态变量。
使用static关键字修饰的方法称为类方法,也叫静态方法。静态方法同样会被类的所有实例共享。除了可以通过创建对象来访问外,也可以通过类名直接访问。类名.方法名(参数列表)。
在java中,静态方法只能访问该类的静态变量和静态方法,不能直接调用该类的非静态变量和方法。main()方法就是一个被static修饰的静态方法。因此在main()方法中直接调用的变量和方法也应该是静态的变量和方法。但是,非静态方法是可以调用该类中的静态变量和方法的。
静态方法是属于类的方法,不属于类的对象,不需要使用创建对象的方式也可以调用静态方法,所以,静态方法中不存在this。 在实际应用中,应该使用类名来调用方法。
关键字static除了可以修饰变量和方法外,还可以在类的内部,方法的外部使用static初始化一个代码段,这种初始化方式成为静态初始化。静态初始化代码段只在类对象第一次载入时初始化一次。与非静态的初始化方式不同的是,静态初始化需要在大括号前加入一个static关键字。其初始化方式如下:
public class A{
static{
}
}
这里要说明的一点是,一般初始化的都是静态变量。
这里在补充一下java的初始化顺序
1:当一个类在使用new创建一个对象时,java虚拟机会去找这个类并对这个类进行装载。
2:当类首次载入时,java会对所有用static修饰的静态代码进行初始化,包括静态变量,静态方法和使用static的静态初始块。
3:进行非静态的变量和方法的初始化操作。
4:执行构造方法。
注意:如果该类有父类,则父类也会先被载入。父类的静态代码将先被初始化,在初始化子类的静态代码。然后初始化父类的非静态代码和构造方法,最后执行的是子类的非静态代码和构造方法。
- static关键字
- static关键字
- 关键字STATIC
- 关键字STATIC
- static关键字
- static 关键字
- static关键字
- static关键字
- static关键字
- static关键字
- static 关键字
- Static 关键字
- static关键字
- Static关键字
- static关键字
- static关键字
- static关键字
- 关键字:static
- 【20.69%】【codeforces 732E】Sockets
- 第八周项目5 -计数的模式匹配
- JAVA的数据类型
- 深入理解js立即执行函数
- stdout stdin python里面的标准输出和输入
- static关键字
- Picasso 完美兼容 OkHttp3.3,缓存优化两不误
- bzoj 1951 古代猪文 CRT lucas定理
- 分治算法之找出2n个数的中位数
- [leetcode]Largest Rectangle in Histogram
- POJ 3621 最优比率生成环 二分求解
- [Java]随记--HttpClient发送put请求
- 请评论一下这段代码?
- ORACLE11g 没有控制文件如何通过rman备份恢复数据的详细实战过程