Acesso a variáveis de outros métodos

É possível eu acessar uma variável de outro método, por exemplo:

public void metodo1(){
   String nome = "Julio Romano";
}
public void metodo2(){
   System.out.println(nome);
}

Existe alguma maneira de fazer isto?

Grato

Julio Romano

Assim é dificil!
Mas vc pode criar uma publica que função que retorna este valor!
Direto não da pq a variavel “morre” depois quando sai do seu escopo de criação!

o q eu queria fazer era o seguinte:
criar uma função q conectasse ao banco d dados. e outras 2 funções, umas para inserir dados e outra para pesquisar dados…porém gostaria de utilizar as variáveis d conexão, da função responsável pela conexão, entende?
por exemplo:

public void conecta(){
Connection con = null;

    try {
      Class.forName("com.mysql.jdbc.Driver").newInstance();
      con = DriverManager.getConnection("jdbc:mysql:///agenda", "root", "master");
      
      Statement st = null;

        // Obtain connection here
        st = con.createStatement();
        
        ResultSet rs = null;

    } catch(Exception e) {
      System.err.println("Exception: " + e.getMessage());
    } 
}

public void pesquisa(){
   rs = st.executeQuery("SELECT * FROM nomes");
}

como posso fazer isto?

Ummmm … não tem com vc acessar a variável dentro de um método chamando de outro … oq vc poderia fazer é declarar as váriaveis comuns no corpo da classe.

[code]public class ola(){

int num1;
int num2;

public void metodo1(){

num1 = 1;
num2 = 2;
}

public void metodo2(){

num1 = 5;
num2 = 6;
}

//aqui dois metodos para retornar as variaveis caso queira acessar de outra classe
public int getNum1(){
return num1;
}

public int getNum2(){
return num2;
}

}[/code]

acho que issu … desculpe qq errinho e espero q ajude.

Fala Júlio, isso que vc quer é impossível…

public void metodo1(){
   String nome = "Julio Romano";
}
public void metodo2(){
   System.out.println(nome);
} 

Um método não enxerga variáveis declaradas dentro de outro método, isso acontece porque métodos tem o mesmo nível de hierarquia, o mesmo escopo. Porém, uma classe é uma entidade que abrange vários métodos. Então se uma variável for declarada na Classe, todos os métodos daquela classe terão acesso a variável. O seu exemplo de BD deveria ser feito mais ou menos assim…

public class BDUtil
{
	Connection con = null;		

	public void conecta()
	{
		if (con == null)
		{
			try 
			{
			      Class.forName("com.mysql.jdbc.Driver").newInstance();
	      		      con = DriverManager.getConnection("jdbc:mysql:///agenda", "root", "master");
	     
	      		      Statement st = null;
	
			      // Obtain connection here
			      st = con.createStatement();
	       
        		      ResultSet rs = null;
		
	    		} 
			catch(Exception e) 
			{
	      			System.err.println("Exception: " + e.getMessage());
	    		}
		}
		else 
		{
			System.err.println("Já está conectado...");
		}
	}

	public void pesquisa()
	{
		Statement stmt = con.createStatement();
		ResultSet rs = stmt.executeQuery("SELECT * FROM nomes"); 
	}
}

Note que mesmo assim ainda há o problema de alguém chamar a função pesquisa sem antes ter mandado o banco se conectar. O que normalmente se faz em casos mais simples, é colocar o código que instancia a conexão no corpo do método Construtor, ao invés de em algum método “conecta()” ou “inicia()”, assim uma vez que o objeto é instanciado com sucesso, a conexão com o banco está garantida.

Espero que tenha ajudado,

Abraços!