public static
är inte en egen modifierare. Både public
och static
kan förekomma utan den andra; det vill säga, du kan ha till exempel public int
eller private static int
.
Det borde du se som något positivt. Jag får intrycket att du gärna skriver överdrivet objektorienterad/imperativ kod baserad nästan helt på muterbart tillstånd. Sådan kod är ofta svår att uppnå korrekt semantik med, och även om man lyckas tenderar koden att bli så bräcklig att ingen – inte ens man själv – någonsin vågar redigera den.
Försök bygga en större andel av din kod i form av rena funktioner, så blir det lättare för dig att skriva korrekt, begriplig, maintainable kod. Rent konkret ser en ren funktion i Java i praktiken oftast ut så här:
public static Y f(X x) {
// Inga sidoeffekter här; enbart beräkning av f(x) baserat på x.
}
Ett annat konkret råd är att ha final
som utgångsläge på alla variabler/fält, och bara skippa den när variabeln/fältet faktiskt behöver kunna muteras.
Sammanfattningsvis kan det vara bra att se både void
-metoder och variabler/fält utan final
som varningsflaggor.