Estou com uma dúvida qual a diferença entre essas duas formas…?
Classe variavel;
Classe variavel = new Classe();
Bem a primeira eu criei uma variável do tipo da classe e a
segunda eu criei uma objeto da classe a qual eu posso
tem a acesso a seus atributos e métodos certo?
O que eu estou achando estranho que dessa forma:
Classe variavel;
também estou tendo acesso a seus métodos sem criar objetos mais o porque disso…? eu tenho um método em um programa de grafos que eu fiz exatamente dessa forma:
public void profundidade(int n ,com.grafo.GrafoGUI gui )
{
/**
*
* @summary faz o caminho em profundidade
*/
visitado[n]=1;//marca viitado com 1
saida+="("+n+")"+"\n";
gui.getVertice(n).setCor(Color.MAGENTA);//seta a cor como MAGENTA a cada interação da pilha
for(int i=0;i<numVertices;i++)
{
if(matAdj[n][i]!=0 && visitado[i]==0)//se coluna na n na passeio i for !=0 e visitado for igual a 0
{
profundidade(i ,gui );//manda para a pilha da recursividade o i e a tela
gui.getAresta(n,i).setCor(Color.MAGENTA);//tinta a aresta como MAGENTA
}
}
}
Olhem bem eu so criei uma váriavel da classe GrafoGUI na assinatura do método vocês podem ver :
public void profundidade(int n ,com.grafo.GrafoGUI gui )
com.grafo.GrafoGUI gui
a partir dessa variável estou tendo acesso a toda classe GrafoGUI
alguém pode me dar uma explicação clara sobre isso estou muito confuso.