Java基础 - Static关键字

**

## Static关键字解析

**




作用:
*Static是一个修饰符,用于修饰成员变量、成员方法。
*被static修饰了的成员变量,会从对象里把该成员变量拿出来,放在共享区(data segment),变为静态成员;
*当成员被static修饰后,多了一种访问方式,除了可以被对象调用之外,还可以直接被类名直接调用。如(类名.静态成员)



调用:

       //被对象调用
       Student s = new Student();
       s.country = "中国";

       //被类名调用
        System.out.println(s.country);
        System.out.println(Student.country);



运行结果为:

中国
中国




Static的特点:
1.随着类的加载而使Static方法也加载进内存。(这也是为什么被Static修饰后的成员变量能被类直接访问的原因)
2.是优先于对象的存在。
3.被Static修饰的成员变量,是被所有本类中的对象所共享的。
4.可以直接被类名所调用。




存放位置:
&静态变量是随着类的加载而存在于data内存区的。
&实例变量(非静态变量)则是随着对象的建立而存在于堆内存中。


String name;//实例变量,非静态的
    int age; //实例变量,非静态的
    static String country;//加上static则由成员变量变为静态成员或静态变量(也叫类变量)




生命周期:
1.类变量生命周期最长,随着类的消失而消失。
2.实例变量生命周期比类变量周期短,它是随着对象的消失而消失。




Static方法注意事项:
1.静态的方法只能访问静态的变量(也就是静态成员)。
2.非静态的方法既能访问静态的成员(包括成员变量、成员方法),也能访问非静态的成员。
3.静态的方法中是不可以定义this、super关键字的。因为静态优先于对象存在,所以不可以出现this、super关键字。
4.局部变量不能被static修饰







        如果这篇文章对你有帮助,希望你能为我点赞👍,那会是对我极大的鼓舞。如果本文有出错的地方,希望各位兄弟姐妹们指点出来,让我们共同探讨,共同进步。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值