static 使用

public class StaticTest {
// 静态变量 类加载时执行 只执行一次
// 对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便)
private static int flag = 1;


// 对于变量,若使用static final修饰,表示一旦赋值不能修改,并且通过类名可以访问。
private final static int flag1 = 1;
// 静态块 类加载时执行 只执行一次
// JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们
static {
System.out.println("static 静态块:" + flag);
flag = 2;
}
// 普通块
// 每次调用构造函数之前调用
{
System.out.println("static 普通块:" + flag);
flag = 3;
}
// 静态块 类加载时执行 只执行一次
// JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们
static {
System.out.println("static 静态块2:" + flag);
flag = 7;
}


public static void getFlag() {
System.out.println("static 静态方法:" + flag);
flag = 4;
}


// 对于方法,若使用static final修饰,表示该方法不可被覆盖,并且可以通过类名直接访问
public static final void getFlag1() {
System.out.println("static 静态方法:" + flag1);
}


public StaticTest() {
System.out.println("static 构造函数:" + flag);
flag = 5;
}


public StaticTest(int hh) {
System.out.println("static 构造函数2:" + flag);
flag = 6;
}


public static void main(String[] args) {
System.out.println("--------------------");
StaticTest test = new StaticTest();
System.out.println("--------------------");
StaticTest test1 = new StaticTest(1);
StaticTest.getFlag();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值