static静态简析

1. 静态变量能够通过静态方法来访问。实质上就是一个全局变量,当我们声明一个对象时,该类所有的实例变量公用一个静态变量

2. 我们程序的任何地方,都可以用它而且可以不实例化它,在我们调用静态变量的时候,它不会初始化到以前的值,比如初始值为1,经过调用后变成了2,那么下次调用的时候,初始值就变为了2。

3. 静态变量是存储在公共空间的,就是说所有的对象都可以直接引用,不需要创建对象再使用该方法。

4. 静态类是static的,不需要实例化类对象即可访问类中的方法,而非静态类,必须有需要new一个类对象才可以访问类中的方法。

5. 静态方法优于对象存在。静态方法在类加载的时候就会被调用,比如main方法就是一个特殊的静态方法,作为程序的主入口,在加载类的时候就会被调用。

 

详细:

         static变量:被static修饰的叫做类变量或者静态变量,没有被static修饰的叫做实例变量,区别:JVM只为静态变量分配一次内存,在加载类的过程中完成静态的内存分配,可以用类名直接访问。  对于实例变量,每对类创建一个实例对象,就会为实例变量分配一次内存,互不影响。

所以一般需要实现以下功能时使用静态(1)在对象间共享值  (2)方便访问变量时

 

     static静态方法:静态方法可以直接通过调用,任何的实例也都可以调用,但是在方法中不能使用this和super关键字,且不能访问不被static修饰的变量和方法(因为实例变量分别隶属于各自的实例)。static方法独立于任何实例,所以必须被实现。Static不可以为抽象的

 (!!!!)一般为了方便,如果A类的某一个方法需要被其他类调用,则将此方法定义为静态,直接用A.方法名  调用。(!!!!)

 

附:static和final修饰变量的时候,可简单理解为“全局常量”,即初始给定值之后不可再改动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值