Java关键词之static浅析

首先我们从 static 的字面意思来说起,static的字面意思是静态,从字面意思上面我们可以联想到静止不动的状态(本人是这样子理解的)。
static作为关键词通常用作修饰,我们用 static 可以修饰属性以及方法。
先放一段修饰属性的代码:

class two {
 static int age=19;
}
class ches{
 public static void main(String[] args) {
  System.out.println(two.age);
 }
}

可以看出来使用 static 修饰的属性,在测试类中不用调用 two 类就可以直接通过 two 类来使用到,
这是因为被 static 修饰的属性已经被存放到共享区里面了。简单的说就是没节操了,并且他攀上了他本身类的大腿,与其同生共死(two类在他就在),并且在测试类中可以直接通过类来调用
在放一段修饰方法的代码:

class two {
 static int age=19;
 public static void print() {
  System.out.println("修饰方法");
 }
}
class ches{
 public static void main(String[] args) {
 two.print();
 }
}

跟上面的同理,也是可以直接通过类来调用
在给放一段代码

class two {
 static int age=19;
 public static void print() {
  System.out.println("修饰方法");
 }
}
class ches{
 public static void main(String[] args) {
 two t=new two();
 t=null;
 t.print();
 System.out.println(t.age);
 }
}

这是经过 static 修饰的方法与属性被放到共享区最鲜明的表示,我们可以看到把 two 类的地址存放到 t 中,然后把 t 赋值为空,按照规则来说已经调用不到 two 类中的任何方法与属性了,但是用static 修饰后就可以调用了
在放一段静态代码块语句:

class two {
 static {
  age=19;
  System.out.println("静态代码块");
 }
 static int age;
 public static void print() {
  System.out.println("修饰方法");
 }
}
class ches{
 public static void main(String[] args) {
 two t=new two();
 t.print();
 System.out.println(t.age);
 }
}

其作用是给静态属性赋值且只会执行一次(在代码载入的时候执行,之后不再执行).
总结:被 static 修饰的属性以及方法在测试类中可直接通过类名来调用,且被static修饰后讲被放进共享区,与类同生共死。
注意:被 static 修饰的方法中如在测试类中被类名直接调用的话,其方法内的属性不能存在未被 static 修饰的属性,不然会报错。
扩展: static 通常与 final 一起用,表示这是最后的一个值,不可被更改。
这段时间一直在巩固基础,写也是总结一天所学重点。

笔记用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值