Это сложно и обычно не рекомендуется делать это, но вы можете создать объект Deque
вне пакета. Я не знаю, можете ли вы правильно указать на него тип Deque.
package com.demo;
final class NotADeque {
public NotADeque() {}
public static void main(String[] args) throws ClassNotFoundException,
NoSuchMethodException, IllegalAccessException, InvocationTargetException,
InstantiationException {
Class<?> c = Class.forName("com.example.Deque");
Constructor<?> constructor = c.getDeclaredConstructor();
constructor.setAccessible(true);//Make the constructor accessible.
Object o = constructor.newInstance();
System.out.println(o);
}
}
Это создаст экземпляр Deque
, но со ссылкой Object
на него. Также посмотрите на количество проверенных исключений, которые могут быть выброшены при этом, это очень хрупкий подход. Для более подробной информации проверьте этот вопрос