[英]private static method in class pros and cons?
有時在編寫 class 時,您需要一些輔助方法來處理一些簡單的事情(以某種方式更改字符串或進行一些簡單的計算)。
如果輔助功能足夠小(並且任何其他類都不需要),那么在此 class 中編寫輔助方法是有意義的。
現在:假設您不需要訪問任何成員變量,最好將此方法設為private
或private static
下面的例子:只實現一個方法來檢查一個字符串是否不是null
並且包含 foo。
public class SomeClass
...
public void calculate(String inputString) {
...
boolean foo = getFoo(inputString);
}
private (static) boolean getFoo(String inputString) {
return inputString != null && inputString.contains("foo");
}
}
制作方法 static 或非靜態方法是否有優缺點。 有一般的做和不做嗎?
我個人會制作方法 static - 它更清楚地表明它不依賴於 object 的 state。 這可能會在線程安全方面產生連鎖反應(盡管如果要訪問該類型的static成員,則需要小心這一點)。
鑒於它是私有的,您無需擔心子類是否想要覆蓋它。
您以后總是可以使它成為非靜態的-我認為唯一的副作用是可能會更改序列化 ID。 (二進制序列化就是這樣的痛苦。)
如果需要訪問非靜態成員變量,則將其設為非靜態,如果不需要,則將其設為 static。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.