Como utilizar o typecast da corretamente?

Ola, sou novo aqui.
Eu estou com 2 tipos de objetos dentro de um Interface, e preciso utilizar os metodos de um deles. A principio eu tentei usar direto, apenas interando o array da Interface, porém nao aparecia os metodos, em seguida tentei usar o typecast, mas ao tentar faze-lo aparecem um erro.

public static void cadastrarOnibus(ArrayList onibusF, Scanner scanf, ArrayList v) {
System.out.println("\n---------------CADASTRASTO DE ONIBUS-----------------");

    Onibus o = new Onibus();
    
    if (v.size() > 0){
        for (int i = 0; i < v.size(); i++){
            if (v.get(i) instanceof Linha)
                Linha l =  (Linha)v.get(i);
        }
    }
}

A classe linha tem o método que você quer? Você inseriu um objeto do tipo Linha no ArrayList?

Tem um objeto do tipo Linha e outro do tipo Frateamento no array list da interface IViagem

Se você digitar

l.

Vai aparecer os seus métodos, se não aparecer é por causa da visibilidade do método ou porque não esta nessa classe

Não entendi muito bem o porque, mas abrir chaves no if e fechar o erro que o netbeans acusava parou, sendo que eu estava utilizando apenas um comando.

Mas de qualquer forma funcionou aqui, vlw
obrigado!

Ah, tava sem chave…

Isso é porque o objeto l foi criado dentro do if, então se você tentar utilizar esse objeto na linha de baixo, o compilador alegará um erro dizendo que l n foi declarado