TL;DR Poczytaj o słowie kluczowym static i konstruktorach .
W Twoim wypadku problem występuje ponieważ pole stanKonta klasy TwojaKarta zostaje ustawione na 1337zł za każdym razem gdy tworzysz nowy obiekt klasy TwojaKarta.
Gdyby stanKonta był zadeklarowany
public static int stanKonta =1337;
to wartość którą mu nadałeś zostałaby wspólna dla wszystkich obiektów klasy TwojaKarta co oczywiście też jest złe bo użytkownicy dodawaliby pieniądze do wspólnego konta. U Ciebie wygląda to w tym momencie tak, że tworzysz w metodzie main obiekt TwojaKarta a w metodzie wpłać inny obiekt TwojaKarta. Jeśli chcesz przekazać do innej klasy dokładnie ten sam obiekt musisz użyć konstruktora w takim wypadku kod musiałbyś zmienić tak:
class Wpłacanie {
private TwojaKarta karta;
public Wpłacanie(TwojaKarta karta){
this.karta = karta;
}
a w metodzie wpłać odnosić się po referencji karta.
Natomiast by stworzyć obiekt Wpłacanie
Wpłacanie wpłacanie = new Wpłacanie(karta)
Postaraj się też używać nazw angielskich dla pól i metod oraz rozbijać program na mniejsze funkcje a wszystko będzie szło ku dobremu :)