当前位置:  开发笔记 > 编程语言 > 正文

在java中使用静态变量?

如何解决《在java中使用静态变量?》经验,为你挑选了1个好方法。

我的意思是我们知道静态成员应该只属于类,而不是从类创建的任何对象的一部分.但我们也可以通过对象访问静态方法吗?让我们说getInstaceCount()是静态成员Class CharStack.例如,我可以在这里创建对象并访问CharStack的静态成员:

CharStack stack1 = new Charstack(10);// declaring object
int count1 = stack1.getinstanceCount();//accessing Static member with the object

所以上面我也可以使用对象stack1访问Charstack的静态成员,所以我怀疑静态成员的确切用法是什么,如果它的对象甚至可以访问?同样为什么类的实例变量不能被类访问?



1> Jack..:

一个static方法没有任何意义对于一类的特定实例的.

static允许在实例上调用方法的事实不应该欺骗你:它只是Java语言的设计错误,没有任何意义.

一个static方法没有一个this参考,因此它是没有意义的能够调用它在一个特定的实例.

另外一个static方法不是多态的,所以在任何情况下你都不能通过在一个实例上调用它来利用这个事实

简短的故事:static方法在某些情况下是有意义的,但你应该总是通过类调用它们,例如CharStakc.getInstanceCount()澄清它们的预期行为,因为允许通过实例调用它们只是一个不应该被允许的错误选择.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有