Java里为什么不推荐使用引用调用静态方法或静态变量

IDE会有警告:The static method xx() from the type Xx should be accessed in a static way

我对IDE的意思的理解是:
其实本身不需要创建实例就能调用的方法,你却在实例里调用,它以为你为了调用这个方法而专门创建了一个实例,多做了内存开销,所以应该警告吧;

做java开发的好像很少有管这种警告的,尤其是IDE里的警告是可选关闭的,公司见到的很多都报着没有使用序列化ID的警告,也没人管,不同于c语言,c语言为了尽可能多的兼容不同平台,需要"标准"些,所以可能会使用gcc的-Wall选项,java是字节码指令由虚拟机执行,只有知道是啥命令,虚拟机就能运行,一般用的也是Oracle或Sun的Hotspot虚拟机,不需要考虑那个,其它虚拟机也遵循了同一Java虚拟机规范,也不可能执行不了,但这不代表有各种警告的代码,能在其他虚拟机比如OpenJDK,IBM的java虚拟机中一样有良好的的运行表现,因为各大虚拟机实现厂商对运行时的优化可能迥异;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-30
不是不推荐使用,看什么场景,警告意思是:

静态方法要通过静态的方式来访问,也就是说静态方法要被类来调用,要在静态方法中引用。

追问

也就是通过类名来调用静态方法,如果我创建多个引用,那这个静态方法在内存里是只创建一次,还是多次呢?

追答都是静的了,你说呢

追问

当然是一次了,好像钻进死胡同了,囧

追答对啊,静态变量什么的不都是存在那里的么,你写个jsp

<%! %> 和 <% %> 有什么区别呢??

<%! %> 被修饰的是静态的,信息是类增的

追问

是的

追答

表里不一

第2个回答  2014-03-30
如果你方法是静态的,就是有static修饰的,那你的变量也要是static的。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网