关于Java接口的一点小疑惑

假设我有一个接口:
public interface Wallet {
int getCash();
...
}

一个实现类:
public class SuWallet implement Wallet{
@Override
public int getCash(){
...
}
}
另一个接口
public interface WalletOwner{
int getWalletCash();
...
}

实现:
public class Su implements WalletOwner{
private SuWallet suWallet

    public Su(SuWallet wallet){
            this.suWallet = wallet;
    }

    @Override
     public int getWalletCash(){
                return  this.suWallet.getCash();
    }

}

然后有一个类:
publilc class WalletKeeper{
Wallet wallet1,....;

    public WalletKeeper(){
        keepWallet(new SuWallet());
    }

    private keepWallet(Wallet wallet){
        //wallet.getCash....
    }

}
我的期望是:我不希望我的钱包(SuWallet)能够被别人直接操作,只能由我(Su)操作。可是接口的方法默认是public。我的需求这样要怎么实现呢?本人Java基础比较差,希望有前辈能够指点思路,非常感谢!

你可以把SuWallet类放在可以调用它的类的内部作为私有类,这样别的类就无法调用了。