JAVA static关键字

若有不正之处,希望谅解并欢迎批评纠正。

Static关键字。

static关键字一般修饰语与类下的方法与类里的成员变量。作用是不需要创建对象即可访问,通过类名.xx , 这样做可以节省内存空间和免去了NEW对象时所消耗的时间,为程序带来优化(个人理解)。静态方法不需要对象即可被外界访问,由此可得出它不附属于任何对象,判断出没有this,被static修饰的变量以及方法是不属于某个对象的,它存在的对象内存中的一个公共区,谁都可以访问,前提是权限修饰符不能为private等。

在同类中,静态方法如何访问非静态方法与非静态成员变量?

由于静态方法没有this,所以它不能直接访问非静态方法与非静态成员。总所周知,非静态方法/变量都必须依赖于具体的对象才能被访问。那该如何访问呢?

由此可见,在静态方法调用非静态方法时会出现错误,但非静态调用静态是一切正常。

因为test方法调用非静态方法/变量时,test方法是静态不附属与任何对象,而非静态方法/变量被调用需要依赖于具体的对象,所以此处出现偏差。总结:static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。

解决办法:创建对象。

通过创建的对象来调用非静态方法/变量。 注意:静态方法里调用静态方法/变量是不需要创建对象的,直接调用。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值