Como acessar variaveis, classes e metodos static?

3 respostas
hackum

Estou criando uma classe que contém a informação para conectar ao banco de dados, é o chamado Singleton. Vejamos:

package org.ptr.DB;

import java.sql.*;
public class ConnectDB {
	
	private Connection connect;
	private static ConnectDB instance;

	private ConnectDB()
	{
		
		
		try {
			
			Class.forName("com.mysql.jdbc.Driver");
			//connect DB
			connect = DriverManager.getConnection("jdbc:mysql://ip/ptr","root","password");
			System.out.println("Connected!");
			
		}
		
		catch(SQLException e)
		{
			System.err.println(e.getMessage());
			
		}
		
		catch(ClassNotFoundException e)
		{
			
			System.err.println(e.getMessage());
			
			
		}

		
	}
	
	  public static ConnectDB getInstance()
	  {
		  
		  if(instance == null) {
			  
			  instance = new ConnectDB();
			  
		  }
		  
		  return instance;

		  
	  }
	
}

Eu gostaria de saber como acessar as variaveis para acessar a query da bd em outra classe.

3 Respostas

Enadrov

Cara para acessar métodos e variaveis estaticas voce usa o nome da classe e a variavel ou metodo:
ex.:

MinhaClasse.nomeVariavel;

ou

MinhaClasse.nomeMetodo();
wagnerfrancisco

Você precisa de um método que retorne a sua Connection, se não não tem como acessá-la. Faça um:

public Connection getConnection() {
   return this.connection;
}

Depois, pra acessar:

ConnectDB.getInstance().getConnection();

Mas pesquise um pouco pra entender por que Singleton hoje é considerado um anti-pattern em muitos casos.

hackum

Compreendido! Obrigado a todos pela resposta!

Criado 22 de julho de 2012
Ultima resposta 22 de jul. de 2012
Respostas 3
Participantes 3