我想對某些方法調用應用注釋,以便我可以告訴 aspectj 修改這些調用的執行。public interface Door { void open() throws DoorException; void close() throws DoorException;}public class Ferrari { @Inject @Lightweight Door door; public void drive() { open(); close(); open(); }}在這種情況下,我希望所有打開/關閉操作以相同的方式有效地包裝,但是如果我希望一個行為不同怎么辦?我想做類似的事情:public class Ferrari { @Inject Door door; public void drive() { door.open(); door.close(); @Slowly door.open(); } }我意識到我不能在那里放置注釋,但同樣的,我不想破壞開放簽名來傳遞可選的元數據。做這個的最好方式是什么?我可以這樣做:public class Ferrari { @Inject Door door; public void drive() { door.open(); door.close(); ((@Slowly Door)door).open(); } }
添加回答
舉報
0/150
提交
取消
