Objektovo-orientované programovanie. Objekty, Java a aspekty