2017-03-22 1 views
0

Ich habe ein Programm in Java, die eine Hilfsklasse mit statischen Methoden in der Hauptklasse verwenden, wie beschrieben:Die Verwendung von statischen Methoden in statischer Utility-Klasse in Java

public class MainClass { 

    public main() { 

    String abc = "xyz"; 
    ResultA = Helper.methodA(abc); 
    ResultB = Helper.methodB(ResultA); 
    } 
} 

und der Helfer:

public class Helper { 

    public static Result methodA(String s) { 
    ... 
    } 

    public static Result methodB(Result r) { 
    ... 
    } 

} 

Nun, wie Sie aus der Struktur sehen können, gibt es eine Abhängigkeit der Daten zwischen methodA und methodB im Helfer, und ich erstelle keine Instanz der Klasse 'Helper'. Ist das eine korrekte Verwendung in der statischen Methode, da ich hier keine Daten validieren kann? Gibt es eine bekanntere Struktur für diesen Fall?

Würde mich über jede Hilfe freuen, danke.

+1

* "Ist das eine ordnungsgemäße Verwendung in der statischen Methode" * Sie sollten keine statischen Methoden verwenden. Sie machen den Code schwieriger zu testen und schwerer zu erweitern. –

+0

Auch wenn es sich um Hilfsmethoden handelt, die bestimmte Operationen ausführen sollten und sich nicht mit breiteren Aspekten der Daten befassen sollten, wie Berechnungsmethoden usw.? –

+0

Es ist nichts falsch daran, Hilfsklassen mit statischen Methoden für die Durchführung kleiner, sich wiederholender Aufgaben zu verwenden. Ich sage nicht, ich befürworte ihren Gebrauch, aber sie haben einen Platz. Es ist nicht einfach, Ihre Frage mit dem gegebenen Beispiel zu beantworten. Wenn methodA und methodB nur etwas arithmetisch ausgeführt haben, dann würde ich ja sagen, sie sind in Ordnung. – TedTrippin

Antwort

0

Es ist besser, statische Methoden zu verwenden, wenn sie wirklich benötigt werden. Dienstprogrammklassen mit den statischen Methoden, die das gemeinsame Verhalten im gesamten Projekt teilen. Wenn sich Ihre Methode in der Utility-Klasse befindet, fahren Sie fort. Andernfalls erstellen Sie ein Objekt und greifen über darin zu.

Verwandte Themen