Умеет создавать var с защищенным конструктором?
Я нахожусь в проекте, где у меня есть класс Actor, с методами и членами данных в нем. Это похоже на абстрактный класс, но я не нахожу полезным устанавливать его абстрактным (все методы реализованы).
public abstract class Acteur {
/**
* Empêchement d'instancier un acteur
*/
protected Acteur() { }
}
Дело в том, что в тесте я могу создать актера:
import org.junit.Test;
public class ActeurTest {
@Test
public void testActeurConstructeur() {
Acteur acteur = new Acteur();
}
}
Поэтому мой вопрос: как это возможно? Мне было интересно, что только подклассы могут использовать / переопределить защищенный конструктор?
Спасибо
1 ответ
Решение
На вопрос, который вас интересует, что только подклассы могут использовать / переопределять защищенный конструктор.
protected
можно получить доступ в том же пакете.
Access Modifiers In class Same package Anywhere but subclasses Outside package & non relate
Private Y N N N
Default Y Y N N
Protected Y Y Y N
Public Y Y Y Y