Я не уверен, как он называется, но вы можете легко переопределить методы с помощью:
Apple foo = new Apple(){
public void devour(){
//Devour apple
}
};
И вы можете получить класс объекта с помощью getClass.
Можно ли сделать что-то вроде этого:
Apple a = new Apple();
Class<? extends Apple> B = a.getClass();
Apple c = new B(){
public void polish(){
//Polish apple
}
};
Примечание: я задаю этот вопрос, потому что я специально хочу переопределить один метод в текущем классе пользовательского интерфейса свинга для компонента, возвращаемого UIManager.getUI(component).getClass()
в этом коде .