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`.