java-static作用

static表示全局或静态的意思,用来修饰成员变量和成员方法,被static修饰的成员变量和方法独立于该类的任何对象。

只要这个类被加载,java虚拟机就能根据类名在运行时数据区的方法区内找到他们,因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。

用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象时,不生产static变量的副本,而是类的所有实例共享同一个static变量。

用private修饰的static变量,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用,但是不能再其他类中通过类名来直接引用。


①:static变量

被static修饰过的变量叫静态变量或类变量,另一种是没有被static修饰过的变量,叫实例变量。

区别:对于静态变量在内存中只有一个拷贝,JVM只为静态分配一次内存,在加载类的过程中完成静态变量的分配。对于实例变量,每创建一个实例就会动态的为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响。

因此一般只有在实现以下两个功能时使用静态变量,一、在对象之间共享值时,二、方便访问变量时。


②:静态方法

静态方法可以直接通过类名调用,因此静态方法中部能用this和super关键字,不能直接访问所属类的实例变量和实例方法{非static修饰的成员变量和方法},只能访问所属类的静态成员变量和成员方法,因为static方法独立于任何实例,因此static方法必须实现,而不能是抽象的abstarct。


③:静态代码块

static代码块也叫做静态代码块,是在类中独立于类成员的static语句块,可以有多个而且位置也随便放,它不在任何的方法体内,JVM加载类时会直接执行这些静态的代码块,如果有多个静态代码块,JVM会按照先后顺序执行,每个代码块只会被执行一次。还记得当年的那个helloworld是怎么打印出来的吗...public static void main{  *-*   }


④:static和final搭配使用

static final用来修饰成员变量和成员方法,可简单理解为全局变量,对于变量,表示一旦给值就不可修改,可以通过类名直接访问。对于方法,表示不可覆盖,并且可以通过类名直接调用。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值