Java 中Static关键字的作用以及在开发中的使用场景

Static关键字的作用

  • 关键字 Static 可以用来修饰类中的属性和方法,但是一定不能修饰构造器

  • Static 关键字所修饰的属性和方法被称为静态变量(类变量)和静态方法

  • 静态变量和静态方法是随着类的加载而加载,优先于对象的创建

静态变量Vs实例变量

静态变量:

  • 静态变量存储在方法区中,随着类的加载而加载,且多个对象共享一个静态变量

  • 由于类只会加载一次,所以静态方法也只会加载一次,存在方法区的静态域中

  • 静态属性的调用,静态属性可以通过 类.属性对象.属性进行调用

实例变量:

  • 实例变量存放在堆中的对象内,实例变量是随着对象的创建而存在的,且每个对象使用单独的实例变量

  • 实例变量会随着对象的回收而消失,且实例变量只能通过 对象.属性 进行调用,不能直接通过 类.属性 进行调用

静态方法

  • 静态方法随着类的加载而加载,且静态方法只能调用静态方法和静态属性(非静态方法和实例变量的生命周期小于静态方法,编译时会报错)
  • 静态方法中不能使用 this()super() 因为构造器是不能被Static关键字所修饰的

Static关键字的使用场景

  • 在开发中,我们常常会使用一些属性希望它是被所有对象所共有的,例如我们所有人中国人都共享一个属性”中国“,这个属性随着类的创建就存在,如果希望这个静态属性不被修改我们可以使用 fianl 关键字进行修饰。
  • 许多工具类我们会使用 Static 关键字修饰,Math,PI,UNitill…
class People{
final static String nation="中国";
int age; 
String name;
 People(int age,String name){
 this.age=age;
 this.name=name;
 }
 People people=new People("陈","20");
 System.out.println("姓名"+people.name+"年龄"+people.age+"国籍"+People.nation);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值