Java static 学习

用static修饰变量或者方法,实际上指定了这些变量或者方法在内存中的位置是固定的,表示了内存的共享,每个对象的实例都指向同一个地址.

对于static的东西, jvm 在加载类时(没有实例化之前),就为这些东西在内存中开辟了空间

1. static 成员变量(基本类型变量和类变量)

2. static方法, 在这种方法中,只能访问其它static成员变量或者方法,不能访问非静态的成员或者方法,因为这时候类还没有被实例化
[code]
public class test {

private int a=1;
public static void main(String[] args) {
System.out.println("a="+String.valueOf(a));
}

}

[/code]
[color=red]Cannot make a static reference to the non-static field a[/color]
但可以在静态方法中访问静态成员变量或者方法
[code]
public class test {

private static int a;
public static void main(String[] args) {
a=1;
System.out.println("a="+String.valueOf(a));
}

}
[/code]
3. static 代码块

[code]
public class test{
public static int i;
public int a;
public test(){
a=1;
System.out.println("a="+String.valueOf(a));
}
public static void main(String[] args){
new test();
}
static{
i=3;
System.out.println("i="+String.valueOf(i));
}
}

[/code]
i=3
a=1
静态代码在类加载时执行,先于实例方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值