Variáveis dentro de métodos static

Boa tarde moçada!
Me expliquem uma coisa: Se no corpo de métodos com o modificador “static” não podemos utilizar variáveis de instância, então, fiquei confuso do porquê no método abaixo é declarada e criada uma variável de instância dentro do corpo do método…!

public static DAOFactory getDAOFactory(int whichDAO)
	{
		DAOFactory daoFactory = null;
		switch(whichDAO)
		{
			case MS_ACCESS:
				daoFactory = new DAOFactory_AccessImpl();
				break;
			case ORACLE:
			case DB2:
			default:
				throw new UnsupportedOperationException("On MS Access DAO                      
                                            Factories are currently supported"); 
		}
		return daoFactory;
	}

Me ajudem com isso, por favor! Obrigado!
Kallás.[/b]

Não tem nenhuma variável de instância aí, a unica variável que tem é a daoFactory que é uma variável local, alias, o simples fato de a variável estar dentro de um método significa que ela é local, e não de instância (atributo).

Variável de instância é isso:

[code]public class Teste1{
private int x;
private static double y;

public static void metodo1(){

}
}[/code]

Se o método metodo1() tentar acessar a variável de instância (ou atributo se preferir) x, não funcionará, mas se tentar acessar a variável estática y funcionará.

Tem razão cara… é isso mesmo. Me confundi um pouco.

Para quem acessar esse tópico, também coloco (a seguir) um link bem completo de um tutorial que encontrei na web, falando a respeito disso:


http://www.guj.com.br/java.artigo.121.1.guj

Quem tiver alguma dúvida no assunto, vale a pena conferir! Valeu!

Kallás.