Java中为什么要使用static?

本文基于Java语言
1.static关键字的作用
有static修饰的成员属于类本身,没有static修饰的成员属于类的实例。
2. 什么是static修饰符
在程序中static修饰的任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。
这样的设计,static可以用来区分成员变量方法是属于类本身还是属于类实例化后的对象。有static修饰的成员属于类本身,没有static修饰的成员属于类的实例。
3 什么时候使用static修饰符
类是抽象的存在,简单的说我们在代码中定义的class,而类的实例是类具体化的存在。在实际的开发中,会存在这样的情况,有些类的使用没有实例化的必要。这时候,就可以用static来修饰成员变量和方法,表明这些变量和方法属于类本身。因为一个类的基本信息在类初始化以后类的相关信息是放在堆里面的,是共享的。类里面static修饰方法、变量是属于类本身,自然也会随之加载。因此我们可以使用className.method()的格式来调用静态方法、类名className.params来调用静态变量,而无需去实例化一个对象。
具体一点,比如:在做一个项目的时候,一个合格的软件工程师都会封装一个公共方法类,将经常用的公共方法放在里面,以便随时在项目中调用。同样,我们定义一个类,里面的公共方法和公共变量都可以用static来修饰,以表示这些方法都属于类本身,就不需要每一次使用一个公共方法的时候都要实例化出一个具体的对象了。项目中常用到的一些工具类,比如UserUtils的一些获取用户的信息的方法都会使用static来修饰。这样的话,我们无需new一个对象实例就可以实现某一方法的调用,是不是也节省堆空间也降低new对象时候的资源开销呢?
4 总结
总体上我觉得static关键字的使用还是在很大的程度上简化了我们的开发,其实在学习各种技术的时候,我们很多时候应该多去想想为什么会用这样的技术,使用它会给我们开发带来什么好处,没有人开发技术是为了来难为程序员自己的。
个人见解,难免有疏漏之处,欢迎大家在评论区提出。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值