um es dir vllt anders zu erklären
in java hast du halt Klassen *z.B. String* , Objecte *z.B. Object einObject* , Variablien *z.B. TimeType TIME* , Methoden *z.B. main* und Operatoren *z.B. ==*
wenn du jetzt ein Object erstellst *oder im sinne von OOP : ein Object instanzierst* , dann hast du halt ein Object vom Type einer gewissen Klasse
die Klasse selbst definiert nur was das Object für Variablien und Methoden hat ... die ausführung passiert erst im Object selbst
die Bezeichnungen deiner Objects *also im beispiel einObject* sind in dem sinner nur Pointer ... *und da du C kannst solltest du wissen was Pointer sind*
wenn du jetzt auf etwas den Operator == anwendest vergleichst du nur ob der eine Pointer dem anderen Pointer entspricht
nun gibt es da noch sonderfälle *grade was die primitiven daten-typen angeht* ... aber das wird man dir schon noch beibringen
willst du aber nun die inhalter zweier Objecte mit ein andere vergleichen und nicht nur ihre Pointer brauchst du die equals-Methode ... auch hier gibt es wieder sonderfälle *z.B. compareTo() und solche scherze* aber auch das wirst du mit der zeit lernen
grade da du schon einblicke in die C-welt hattest solltest du dich damit auskennen ... weil soweit ich weis funktioniert das einfache vergleichen zweier Strings in C / C++ auch nicht einfach mit == ... ob das nu in C# entsprechend geändert wurde ... damit kenn ich mich nich aus ... aber man lernt ja nie aus