Avatar ·

Was ist der Unterschied zwischen getName(), getCanonicalName() und getSimpleName() in Java?

Hallo! Ich habe gerade angefangen, Reflexion in Java zu lernen und bin auf drei Methoden gestoßen: `getName()`, `getCanonicalName()` und `getSimpleName()`. Ich verstehe nicht ganz, worin sie sich unterscheiden. Zum Beispiel habe ich eine einfache Klasse `Person` im Paket `com.example.model`. Ich habe versucht, folgenden Code zu schreiben: ```java package com.example.model; public class Person { public static void main(String[] args) { Class clazz = Person.class; System.out.println("getName: " + clazz.getName()); System.out.println("getSimpleName: " + clazz.getSimpleName()); System.out.println("getCanonicalName: " + clazz.getCanonicalName()); } } ``` Alle drei Methoden geben etwas Ähnliches aus: `getName` zeigt `com.example.model.Person`, `getSimpleName` zeigt nur `Person`, und `getCanonicalName` zeigt ebenfalls `com.example.model.Person`.