All
Из-за ошибки в библиотеке, которую я использую, мне нужно переопределить метод dispose () для всех объектов, расширяющих определенный класс, и сделать его NO-OP. Я знаю, что если я создаю новые экземпляры классов напрямую, это легко сделать:
layerManager = new LayerManagerLayer(wwd) {
@Override
public void dispose() {}
};
Проблема в том, что многие экземпляры объектов, которые я получаю, не создаются непосредственно моим клиентским кодом, а вместо этого создаются посредством вызовов методов статической библиотеки.
// Here I want to override the dispose method, but I cannot.
Layer l = ShapefileLoader.makeShapefileLayer(this.getClass().getResource("polylines10.shp"));
Есть ли способ, которым я могу внедрить свой метод dispose в этот статически созданный объект без изменения исходного исходного кода?