Woher kommt das Objekt "Math" bei Math.random(); ?

julchen81

Bekanntes Mitglied
Hallo!

ich teste gerade die vordefinierten Klassen, z.B.

Java:
import java.lang.Math;
public class test {
    public test(){}

    public void testen() {
         double x = Math.random();
    }
}

Warum bitte darf ich in Zeile 6 Math.random(); schreiben ohne vorher ein Objekt der Klasse Math erzeugt zu haben?

Viele Grüße,
Julia
 
Da die Methoden der Klasse Math static sind, das bedeutet, du musst kein Objekt der Klasse erstellen um auf die Methoden zugreifen zu können.

EDIT:

Beispiel:

Java:
class StatTest {

     public static void staticMethod() {
          System.out.println("Static");
     }

     public void nonStaticMethod() {
          System.out.println("Non Static");
     }

}

Java:
class MainClass {

     public static void main(String[] args) {
          StatTest.staticMethod(); //Geht
          StatTest.nonStaticMethod(); //Geht nicht, da kein Objekt erzeugt wurde
          StatTest test = new StatTest();
          test.staticMethod(); //Geht
          test.nonStaticMethod(); //Geht
     }

}
 
Zuletzt bearbeitet:
Das Stichwort lautet static, statische Mathoden können ohne Objekt aufgerufen werden, da sie nicht an verschiedene Objekte sondern nur an die jeweiligen Klassen gebunden sind.
 

Zurück
Oben