Czy można zdefiniować prywatną klasę abstrakcji w Javie? W jaki sposób programista Java napisałby konstrukcję, jak poniżej?Java: jak zaimplementować prywatne abstrakcyjne metody?
public abstract class MyCommand {
public void execute()
{
if (areRequirementsFulfilled())
{
executeInternal();
}
}
private abstract void executeInternal();
private abstract boolean areRequirementsFulfilled();
}
Ani w C# ...... –
W rzeczywistości, prywatne metody * mogą * być dostępne przez podklasy - o ile te podklasy są ujęte w super klasa. – gustafc
@gustafc, nawet jeśli twoja klasa jest zawarta w super klasie, masz dwie możliwości, albo ta klasa jest statyczna, wtedy abstrakcyjna metoda nie jest dostępna (nie ze statycznego środowiska), albo klasa nie jest statyczna ale aby mieć jedną instancję podklasy potrzebujesz instancji z super klasy, która nie jest dostępna (ponieważ jest abstrakcyjna) ani nie można jej rozszerzyć z zewnątrz. –