1. card1 == card1: true card1 == card2: true card1 == card3: false card1 == card4: false card1.equals(card1): true card1.equals(card2): true card1.equals(card3): true card1.equals(card4): false Explaination: - card1 is both == to itself (since it references the same object) as well as equals - Since card1 and card2 refer to the same object, both cases are true - card1 and card3 reference different objects, so == gives false. They are equivalent objects by our definition, though, so equals returns true. - card1 and card4 reference different objects that are also not equivalent, so both comparisons give false.