Прежде всего, я надеюсь, что ваше поле «Файл f» не связано с попыткой доступа к суперклассу, а связано с «Rel» или «Abs».
Другие авторы правильно указали, что ваш неявный конструктор по умолчанию (AbsRelfile ()) будет пытаться вызвать super () - который не существует. Поэтому единственное решение - создать конструктор, который передаст некоторые допустимые аргументы.
Если вы пытаетесь «обернуть» весь класс java.util.File (например, при создании собственного исключения), вам, вероятно, следует предоставить оболочку для каждого из исходных конструкторов. Современные IDE, такие как Eclipse, должны щелкнуть правой кнопкой мыши.
Обратите внимание, что File не требует, чтобы данное имя файла существовало, в частности, оно не существует, когда вы хотите выполнять такие операции, как file.mkdir ().
Если вам нужен фактический временный файл для работы, вы всегда можете сделать что-то вроде:
public class AbsRelFile() {
public AbsRelFile() {
super(File.createTempFile("AbsRelFile", "tmp").getAbsolutePath());
}
}
.. но я озадачен тем, почему вы хотите сначала создать подкласс File.