Variavel public na classe main.[RESOLVIDO]

Pessoal, faz muito tempo que não programo em java e estou fazendo um código para relembrar um pouco!

Estou tendo um problema, pq na classe main tenho uma variavel public e não consigo usar ela nos metodos dessa classe.

O código esta assim:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package objcachorro;

import java.util.Scanner;

/**
 *
 * @author André
 */
public class ObjCachorro {

    public static Cachorro[] cachorros = new Cachorro[10];
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) 
    {
        // TODO code application logic here
        menu();
        
        /*Cachorro cachorro;
        
        cachorro = new Cachorro();
        
        cachorro.setIdade(10);
        
        System.out.println(cachorro.getIdade()); */       
        
    }
    
    public static void menu()
    {
        String opcao = "";
        Scanner opc = new Scanner(System.in);
        
        // condições do menu
        do
        {
            System.out.println("(1) - Cadastrar cachorro");
            System.out.println("(2) - Excluir cachorro");
            System.out.println("(3) - Excluir tudo");
            System.out.println("(3) - Coisas de cachorro");
            System.out.println("(S) - Sair");
            opcao = opc.next();
            
            if(opcao.equals("1"))
            {
                addCachorro();
            }
            
        }while(!opcao.equals("S"));
    }
    
    public static void addCachorro()
    {

        this.cachorros[0].setCor('branco');
    }
}

O erro da na linha 61.
No netbeans a msgde erro é essa:
[color=red]non-static variable this cannot be referenced from a static context

unclosed character literal

not a statement

unclosed character literal

Acessando estático field cachorros[/color]

E ai, o que o newbie ta fazendo de errado ?!

Valeu!

O this não pode ser usado em métodos estáticos. Método estáticos são métodos da classe, e não de um objeto. this significa “este objeto”.
De maneira geral, evite usar static.

[code]package objcachorro;

import java.util.Scanner;

public class ObjCachorro {

private Cachorro[] cachorros = new Cachorro[10];


public static void main(String[] args)  {
    ObjCachorro obj = new ObjCachorro();
    obj.menu();    
}

public void menu() {
    String opcao = "";
    Scanner opc = new Scanner(System.in);
    
    // condições do menu
    do {
        System.out.println("(1) - Cadastrar cachorro");
        System.out.println("(2) - Excluir cachorro");
        System.out.println("(3) - Excluir tudo");
        System.out.println("(3) - Coisas de cachorro");
        System.out.println("(S) - Sair");
        opcao = opc.nextLine();
        
        if(opcao.equals("1")) {
            addCachorro();
        }
        
    }while(!opcao.equalsIgnoreCase("S"));
}

public void addCachorro() {
    this.cachorros[0] = new Cachorro();
    this.cachorros[0].setCor('branco');
}

}
[/code]

Nossa, q doido!
To acostumado com php, dai se eu não leio em algum lugar ou não explicarem eu não ia entender nunca Rsrsrsr!

Valeu pela ajuda cara, deu certo!

Flw!