Hallo zusammen,
ich habe mich mal mit dem Thema statische Methoden auseinander gesetzt. Und habe folgendes verstanden (wenn es so richtig ist :?: ).
Statische Methoden sind u.a. dann anzuwenden, wenn z.B. wie in meinen Testbeispiel von der Klasse keine Instanz benötigt wird. Ferner sind statische Methoden schneller. Also dachte ich mir folgendes:
Ich habe eine Klasse mit 2 Methoden, die eine Umrechnung von String nach Date erledigen. Also habe ich diese statisch definiert.
Wenn ich diese nun verwende, dann moniert als Warunung eclipse "... schould be accessed in a static way". Das habe ich nun nicht verstanden? Was sollte hier beachtet bzw. was muss ich anders machen? Der Rückgabewert der Methode möchte ich natürlich als nicht statischen Wert weiter verarbeiten.
ich habe mich mal mit dem Thema statische Methoden auseinander gesetzt. Und habe folgendes verstanden (wenn es so richtig ist :?: ).
Statische Methoden sind u.a. dann anzuwenden, wenn z.B. wie in meinen Testbeispiel von der Klasse keine Instanz benötigt wird. Ferner sind statische Methoden schneller. Also dachte ich mir folgendes:
Ich habe eine Klasse mit 2 Methoden, die eine Umrechnung von String nach Date erledigen. Also habe ich diese statisch definiert.
Code:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FormatDateTime {
/*
* Formating InputString to DateFormat
*/
public static Date formatDate(String inDate) {
DateFormat formatDay = new SimpleDateFormat("dd.MM.yyyy");
Date tmpDate = null;
try{
tmpDate = formatDay.parse(inDate);
return tmpDate;
}
catch (Exception ex) {
System.out.println("[ERROR ]:" + ex);
return null;
}
}
/*
* Formating InputString to TimeFormat
*/
public static Date formatTime(String inTime) {
DateFormat formatHour = new SimpleDateFormat("HH:mm");
Date tmpDate = null;
try{
tmpDate = formatHour.parse(inTime);
return tmpDate;
}
catch (Exception ex) {
System.out.println("[ERROR ]:" + ex);
return null;
}
}
}
Wenn ich diese nun verwende, dann moniert als Warunung eclipse "... schould be accessed in a static way". Das habe ich nun nicht verstanden? Was sollte hier beachtet bzw. was muss ich anders machen? Der Rückgabewert der Methode möchte ich natürlich als nicht statischen Wert weiter verarbeiten.
Code:
import java.util.Date;
public class TestDateTime{
FormatDateTime fdt;
private Date test;
public TestDateTime() {
test = fdt.formatDate("01.10.2005");
System.out.println("FormatDatetime: " + test);
}
public static void main( String[] args ){
TestDateTime test = new TestDateTime();
}
}