Vamos lá...
1)
compareTo(ContaPoupanca outra)
este método esta dentro da classe Conta, sendo chamada por objeto que já esta instanciado como sendo uma Conta. Quando ocorre a chamada e vamos para o método acessamos os atributos da classe invocadora do método, pelo this
e a outra, nome do parâmetro é outra conta, outro objeto do tipo Conta, que estamos passando para ser comparado, por exemplo:
Conta contaOriginal = new ContaPoupanca();
//set do saldo
Conta contaSecundaria = new ContaPoupanca();
//set do saldo
//chamando o método
contaOriginal.compareTo(contaSecundaria);
Só uma dia: o compareTo não costuma fazer este tipo de operação que você fez....
2)O for: este for que você esta utilizado é um foreach, ou seja, para cada atributo de um tipo, contido em uma Collections, mais explícito, com o main:
//Tenho um array de string, que é o args
public static void main (String args[]){
//falo para meu for, para cada String (defino o tipo) s (dou um nome) , do meu array args (defino qual collection) faça algo...
for(String s : args){}
//lembrando que o ":" define de onde virá a minha String, minha variável.
}
3) Você não deve ter especificado a classe :D, no caso a Collections.
olhe esse link https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html
e de um ctrl+f por sort.
Espero ter ajudado.