static



  • hi leute!

    // file Demo.java
    class Demo
    {
       static public void main(String args[])
       {
          System.out.println("Hello, world!");
       } // end main()
    
    } // end class Demo
    

    warum muss da static stehen? dh ja das diese funktion nicht an die klasse gebunden ist?

    cu



  • Du meinst sicher an das Objekt ... ?



  • CengizS schrieb:

    Du meinst sicher an das Objekt ... ?

    die void soll sich ja nicht auf das objekt beziehen oder wie meinst du das?

    cu



  • Eine static-Methode nennt man auch Klassenmethode, d.h. sie kann aufgerufen werden ohne ein konkretes Objekt vom Typ der Klasse zu haben. Deswegen meinte ich "kein Objektbezug". Zur Klasse gehört die Methode allemal.

    Die main-Methode ist sowieso eine sehr spezielle Methode die eigentlich nur von der VM direkt aufgerufen wird.



  • CengizS schrieb:

    Eine static-Methode nennt man auch Klassenmethode, d.h. sie kann aufgerufen werden ohne ein konkretes Objekt vom Typ der Klasse zu haben. Deswegen meinte ich "kein Objektbezug". Zur Klasse gehört die Methode allemal.

    Die main-Methode ist sowieso eine sehr spezielle Methode die eigentlich nur von der VM direkt aufgerufen wird.

    ja is klar, dh. diese methode hat keinen this pointer wie man in c++ so schön sagt...

    cu



  • Wenn du das in C++ kennst, müsstest du es eigentlich auch auf Java übertragen können.
    Eine Besonderheit bzgl. static gibt es noch, nested classes sind in Java normalerweise auch immer an ein Objekt gebunden, man kann sie aber static machen, dann verhalten sie sich wie die in C++/C#.

    class SurroundingClass
    {
        private static class NestedClass        {}
    }
    

Anmelden zum Antworten