Classes apenas com metodos, como se faz?

3 respostas
K

Ola pessoal
eu vou ter algumas classes das quais, elas so vao possuir metodos(conversores, validadores, formatadores)
essas classes vao ficar em um pacote a parte
eu pensei que era apenas criar a classe e colocar os metodos dentro dessas classes e importar nas classes que vao utilizar, porem, qdo eu fiz isso, ele nao reconheceu os metodos.

se eu copiar para dentro da classe que o utiliza, funciona certinho, porem, se eu tirar e deixar apenas o import, ele nao reconhece o metodo
oq estou fazendo de errado?
um exemplo das minhas classes

package br.com.krusst.precadastro.util;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Conversores {
	public static java.sql.Date getSqlDate(Date data) {  
	     if(data == null){  
	         return null;  
	     }  
	   return java.sql.Date.valueOf(dateToStr(data, "yyyy-MM-dd"));  
	 }  
	 public static String dateToStr(Date date, String format) {  
	   
	   String retorno = null;  
	   
	   if ((null != date) && (null != format)) {  
	   
	     SimpleDateFormat formater = new SimpleDateFormat(format);  
	     retorno = formater.format(date);  
	   }  
	   
	   return retorno;  
	}
}

e utilizei na dessa forma

stmt.setDate(7,getSqlDate(this.pessoaFisica.getNascimento()));

acho que é so
abs
T+

3 Respostas

M

você não colocou em que classe ele tem que buscar o metodo getSqlDate…

stmt.setDate(7,Conversores.getSqlDate(this.pessoaFisica.getNascimento()));

tente utilizar assim

V

Aproveito e tiro uma dúvida quando alguém mais entendido passar por aqui :D .

Se eu estiver errado por favor me corrijam :

Se você estiver dando import nos pacotes que vai usar , ainda sim
você precisará instanciar antes a classe
que pretende usar. Caso o contrário como os métodos são static bastará que você
faça como o markinh0 disse Nome_da_Classe.NomedoMétodo();

então ficaria assim:

/*
*@com instancia
*@com import
*/
import br.com.krusst.precadastro.util.*;

Conversores Conv = new Conversores();
stmt.setDate(7,Conv.getSqlDate(this.pessoaFisica.getNascimento()));
/*
*@com instancia
*@sem o import
*/

br.com.krusst.precadastro.util.Conversores Conv = new br.com.krusst.precadastro.util.Conversores();
stmt.setDate(7,Conv.getSqlDate(this.pessoaFisica.getNascimento()));
Funciona pelo fato dos métodos serem static.
/*
*@sem instancia
*@sem o import
*/

stmt.setDate(7,br.com.krusst.precadastro.util.Conversores.getSqlDate(this.pessoaFisica.getNascimento()));
Funciona pelo fato dos métodos serem static.
/*
*@sem instancia
*@com import
*/
import br.com.krusst.precadastro.util.*;

stmt.setDate(7,Conversores.getSqlDate(this.pessoaFisica.getNascimento()));

A principio deveria funcionar das 4 formas , acaba que estou usando seu tópico para tirar essa "dúvida" .
No entanto se continuar a não funcionar , da uma olhada no classpath se os pacotes estiverem empacotados em um JAR se você está declarando eles . coisas do tipo.

M

ta correto o que você colocou sim vinicius…

abraços…

Criado 2 de março de 2008
Ultima resposta 3 de mar. de 2008
Respostas 3
Participantes 3