package oop.record;
/* Einschränkungen:
 *  - Keine Vererbung (extends).
 *  - Keine zusätzlichen Instanzfelder außer den definierten Komponenten.
 *  - Nur statische Felder sind zusätzlich erlaubt.
 *  - Keine abstrakten Records, da sie immer final sind.
 *  - Felder sind unveränderbar (final)
 * 
 * Möglichkeiten:
 *  - Generische Records
 *  - Implementierung von Interfaces
 *  - Verwendung von statischen und Instanzmethoden.
 *  - Instanziierung mit new
 *  - Verschachtelte Records oder Klassen
 * 
 */

public record Point(int x, int y) {
	// Kein weiterer Code erforderlich, alle notwendigen Methoden und Felder
    // werden automatisch generiert.
	
	  static int f = 10;
	
public static void main(String[] args) {
		
		Point p = new Point(1,2);
		System.out.println(p.toString());
		System.out.println(p.f);
		System.out.println(p.x());
	}
}


