Foros del Web » Programación para mayores de 30 ;) » Java »

Estoy enredado con java

Estas en el tema de Estoy enredado con java en el foro de Java en Foros del Web. bueno dias a todos. hace un tiempo empece con java y con los ejemplos ncontrados en la red he podido contruir mis ficheros sin problema, ...
  #1 (permalink)  
Antiguo 23/11/2005, 10:35
 
Fecha de Ingreso: agosto-2004
Mensajes: 30
Antigüedad: 19 años, 8 meses
Puntos: 0
Estoy enredado con java

bueno dias a todos. hace un tiempo empece con java y con los ejemplos ncontrados en la red he podido contruir mis ficheros sin problema, ahora estoy intentando entender cada detalle para que me sea mas facil profundizar en el lenguaje. La duda que tengo es la siguiente:

por norma general con la sentencia new se crean las instancias de cualquier clase. Despues puedo usar los metodos (de clase u objeto) y asi desarrollar mi fichero, pero me he encontrado con algunas situaciones en las que los metodos son usados sin crear un objeto con la sentencia new.

por ejemplo a la hora de establecer una conexion a una base de datos se usa lo siguiente como ustedes bien saben:

Connection con = null
con = DriverManager.getConnection(" "," "," ");

aca veo que se crea la referencia al objeto (con).pero no se crea el objeto y si se usa un constructor. he estado leyendo y este metodo tiene como valor de retorno un objeto, entonces no se si esta sea la razon del porque no es necesario crear un objeto con la sentencia new.

de igual manera he visto esta situacion en:

Float f= Float.valueof();

y en la construccion de midlets:

private Display display
.
.
.
display = Display.getDisplay(this);

en todos estos casos veo que se usan los metodos sin crear el objeto propiamente dicho usando la sentencia new.

espero que puedan ayudarme con el enredo que tengo en mi cabeza.


Gracias y Adios
  #2 (permalink)  
Antiguo 23/11/2005, 11:30
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Creo que te haz estado metiendo en Java sin antes haber estudiando la orientacion a objetos, pues tus dudas lo dejan con esa apariencia.

En Java existen los metodos o atributos estaticos (static) los cuales tiene la caracteristica de ser compartidos por todos los objetos que hagan refrencia a dicha clase que posee el atributo estatico. Ademas, los atributos o metodos estaticos tiene la caracteristica de poder ser llamados sin tener ninguna instancia de la clase en algun objeto, y es el caso de por ejemplo los en todos de la clase Math todos los atributos estaicos y por eso puedes llamarlos sin tener instancias de la clase

Math.sqr
Math.PI

son algunos ejemplos.

Es el caso de los metodos parseInt, parseFloat, parseDouble, etc, todos ellos son estaticos en sus clases, por eso puedes suarlos directamente.

Esta es la razon por la cual el metodo main siempre se declara estatico, puesto que la maquina virtual (JVM) debe hacer referencia a el para poder emepezar la ejecucion del programa sin tener un objeto creado de dicha clase. Si el metodo main no lo declaras estaico, no te dara error de compilacion, pero si de ejecucion, pues la JVM no tendra forma de encontrarlo.

ahora bien, con respecto a lo de inicializar los objetos con new es correcto, siempre se inicializan asi, pero perfectamente puedes hacer esto.

Object ob1 = new Object();
Object ob2 = ob1;

pues obj1 ya es un objeto inicializado correctamente.

es decir que cualquier metodo que retorne algun objetos este ya lo retorna construido. Es el caso del metodo getConnection de DriverManager que retorna un objeto Connection construido.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:50.