BJ *_*ruz 3 java methods static
有人告诉我:
如果您使用Eclipse并且在方法中没有看到任何蓝色字(即成员变量),那么这些方法应该是静态方法,只要参数(如果有的话)是原始类型,或者(在对象引用的情况)是不可变的和/或线程安全的.
在决定实例方法是否真的应该是静态方法时,Java开发人员应该考虑其他任何标准吗?
...除非您计划子类化并覆盖该方法.
只要参数(如果有的话)是原始类型,或者(在对象引用的情况下)是不可变的和/或线程安全的.
我不明白为什么这是相关的.无论是否使方法静态,任何线程安全注意事项都是完全相同的.只有不可变参数的静态方法(也不会弄乱类的静态字段)是线程安全的.如果参数不是不可变的并且方法改变它们并且这变得非线程安全,那么使这个实例方法根本无济于事.