Как я могу передать имя класса его конструктору суперкласса, и возможно ли это вообще? Я думаю о чем-то вроде этого:
class TestClass extends SuperTestRequiringName(TestClass.getClass.getName) {}
Это было бы лучше, чем передавать имя в виде жестко закодированной строки, потому что согласованность сохраняется во время рефакторинга переименования.
Еще лучше было бы фактический класс времени выполнения, поэтому я бы получил имя подкласса, если это возможно. Но это тоже не работает:
class TestClass extends SuperTestRequiringName(this.getClass.getName) {}
Я вообще не спрашиваю, как получить доступ к имени подкласса внутри суперкласса во время выполнения. Важно, чтобы имя класса было доступно в качестве аргумента супер-конструктора, чтобы суперкласс мог передать его своему собственному суперклассу (из библиотеки, которую я не могу изменить).