static变量与代码块
static:是一个关键字,用于修饰成员变量和成员方法
static的特点:
1、被所有的对象所共享
2、可以使用类名调用
3、静态的加载优先于对象
4、随着类的加载而加载
satatic的注意事项:
静态方法:
1、可以调用静态的成员变量
2、可以调用静态的成员方法
3、不可以调用非静态的成员变量
4、不可以调用非静态的成员方法
5、静态方法只能调用静态成员
非静态方法:
1、可以调用静态的成员变量
2、可以调用静态的成员方法
3、可以调用非静态的成员变另
4、可以调用非静态的成员方法
静态方法是没有this对象的
构造代码块:提取构造方法中的共性,每次创建对象都会执行,并且在构造方法执行之前执行
静态代码块:随着类的加载而加载,自己家在一次,加在雷士需要做一些初始化,比如加载驱动。
/**
* description:
* author:sdjady
* date:2020-11-30
* time:11:33
*/
public class BlockTest {
static {
System.out.println("BlockTest静态代码块执行");
}
{
System.out.println("BlockTest构造代码块执行");
}
public BlockTest(){
System.out.println("BlockTest无参构造执行了");
}
public static void main(String[] args) {
System.out.println("BlockTest的主函数执行了");
Coder c = new Coder();
Coder c2 = new Coder();
}
}
class Coder {
static {
System.out.println("Coder静态代码块执行");
}
{
System.out.println("Coder构造代码块执行");
}
public Coder() {
System.out.println("Coder无参空构造执行");
}
}
BlockTest静态代码块执行
BlockTest的主函数执行了
Coder静态代码块执行
Coder构造代码块执行
Coder无参空构造执行
Coder构造代码块执行
Coder无参空构造执行