Java - prywatny konstruktor vs finał i więcej

Załóżmy, że istnieje klasa ze wszystkimi jej konstruktorami zadeklarowanymi jako prywatne.

Na przykład.:

public class This {
    private This () { }

    public someMethod( ){
    // something here
    }
   // some more-- no other constructors
}

Z tego co wiem, uczynienie wszystkich konstruktorów prywatnymi jest podobne do deklarowania klasy „This” jakofinał- tak, że nie można go przedłużyć.

Jednak komunikaty Eclipse, które otrzymuję, dają mi wrażenie, że jest to możliwe - klasa prywatna dla wszystkich konstruktorów może zostać rozszerzona. Popatrz na to:

Kiedy próbuję rozszerzyć tę klasę o coś podobnego

public class That extends This {
    ...
}

Eclipse dał mi błąd, który: „Niejawny super konstruktor To () nie jest widoczne dla domyślnego konstruktora. Musi zdefiniować jawny konstruktor."

Kiedy definiuję własnego konstruktora:

public class That extends This {
    That () {..} 
    ...
}

tym razem dostaję: ”Niejawny super konstruktor To () nie jest widoczne dla domyślnego konstruktora. Musi jawnie wywoływać innego konstruktora."

Czy istnieje sposób obejścia tego problemu - rozszerzenia klasy, której wszyscy konstruktorzy są prywatni?

jeśli tak, jak?

jeśli nie, jaka jest różnica między zatrzymaniem rozszerzania klasy przez i.), czyniąc jej konstruktorów prywatnymi i ii.) definiując ją jakofinał?

Uwaga: widziałemCzy konstruktor w Javie może być prywatny? wśród innych dyskusji.

questionAnswers(3)

yourAnswerToTheQuestion