Parece una tontería de pregunta pero no encuentro nada en la red sobre punteros en java.. ahora si que estoy perdido..
Pregunta de Java, modificar variable global desde objeto?
- erkosone
- Posts: 10656
- Joined: Tue Feb 24, 2009 2:13 pm
- Location: Barcelona.
- Contact:
Pregunta de Java, modificar variable global desde objeto?
Hola, alguien sabe como modificar una variable global tipo 'String' desde un metodo cualquiera de un objeto?
Parece una tontería de pregunta pero no encuentro nada en la red sobre punteros en java.. ahora si que estoy perdido..
Parece una tontería de pregunta pero no encuentro nada en la red sobre punteros en java.. ahora si que estoy perdido..
http://iphonegamesdev.com/
[GEMIX - VIDEO TUTORIALES] http://www.youtube.com/user/fasetconasa
http://gurugameprogramming.blogspot.com.es/
[GEMIX - VIDEO TUTORIALES] http://www.youtube.com/user/fasetconasa
http://gurugameprogramming.blogspot.com.es/
- CicTec
- Posts: 16590
- Joined: Thu Jul 31, 2008 10:18 pm
Re: Pregunta de Java, modificar variable global desde objeto
Hola erkos,
En Java no existen punteros, si quieres modificar una string, simplemente asignale un nuevo texto: string_var = "text";
En Java no existen punteros, si quieres modificar una string, simplemente asignale un nuevo texto: string_var = "text";
-
brujoMX
- Posts: 321
- Joined: Thu Jan 12, 2012 9:10 pm
Re: Pregunta de Java, modificar variable global desde objeto
De hecho en Java no existe el termino de variable global. Te refieres a una variable de Clase o de Instancia ?
- erkosone
- Posts: 10656
- Joined: Tue Feb 24, 2009 2:13 pm
- Location: Barcelona.
- Contact:
Re: Pregunta de Java, modificar variable global desde objeto
Me refiero a una variable que creo al inicio del código y que es accesible desde cualquier parte del programa.
Creo haber entendido que se puede hacer lo de modificar una variable de acceso global o como se diga en java creando un objeto que apunta a la variable pero no termino de entender como se hace.. esto de que no existan los punteros es una cosa muy extraña para mi, no se programar sin ellos.. auuuchh...
Lo unico que quiero hacer es tener al inicio del programa una variable llamada 'String str_1;' y poder decirle al metodo de una clase que es esa la variable sobre la que tiene que trabajar, vamos lo que en C/C++ se haría pasando la variable por referencia tan sencillamente pero que en java parece que no se puede hacer, esque no puede ser, se tiene que poder hacer algo tan básico de alguna manera no?
Creo haber entendido que se puede hacer lo de modificar una variable de acceso global o como se diga en java creando un objeto que apunta a la variable pero no termino de entender como se hace.. esto de que no existan los punteros es una cosa muy extraña para mi, no se programar sin ellos.. auuuchh...
Lo unico que quiero hacer es tener al inicio del programa una variable llamada 'String str_1;' y poder decirle al metodo de una clase que es esa la variable sobre la que tiene que trabajar, vamos lo que en C/C++ se haría pasando la variable por referencia tan sencillamente pero que en java parece que no se puede hacer, esque no puede ser, se tiene que poder hacer algo tan básico de alguna manera no?
http://iphonegamesdev.com/
[GEMIX - VIDEO TUTORIALES] http://www.youtube.com/user/fasetconasa
http://gurugameprogramming.blogspot.com.es/
[GEMIX - VIDEO TUTORIALES] http://www.youtube.com/user/fasetconasa
http://gurugameprogramming.blogspot.com.es/
-
brujoMX
- Posts: 321
- Joined: Thu Jan 12, 2012 9:10 pm
Re: Pregunta de Java, modificar variable global desde objeto
En Java no existe los punteros por que no son necesarios, todo se pasa como referencia menos los tipos primitivos, aun asi puedes usar los wrappers para tal cosa.
Creo que este ejemplo es lo que mas se acerca a una variable global, pudiera usar tambien los static import para llamar a str_1 sin necesidad de hacer referencia a la clase donde esta definida.
Creo que este ejemplo es lo que mas se acerca a una variable global, pudiera usar tambien los static import para llamar a str_1 sin necesidad de hacer referencia a la clase donde esta definida.
Code: Select all
//Main.java
public class Main
{
public static String str_1;
public static void main(String...args)
{
new MyClass().workingMethod();
}
}
//MyClass.java
public class MyClass
{
public class workingMethod()
{
Main.str_1 = "Hello World";
System.out.println(Main.str_1);
}
}
- erkosone
- Posts: 10656
- Joined: Tue Feb 24, 2009 2:13 pm
- Location: Barcelona.
- Contact:
Re: Pregunta de Java, modificar variable global desde objeto
Muchas gracias por vuestro tiempo os lo agradezco mucho.
BrujoMX la idea es que el método no conozca la variable con la que tiene que trabajar, simplemente quiero pasarsela por referencia para no limitar al método a una variable, si no que pueda trabajar con cualquiera que sea de ese tipo, por poner un ejemplo sería algo así lo que quiero hacer:
[Codebox=java file=Untitled.java]//Main.java
public class Main
{
public static String str_1;
public static String str_2;
public static void main(String...args)
{
MyClass obj_1 = new MyClass().workingMethod( &str_1 );
MyClass obj_2 = new MyClass().workingMethod( &str_2 );
}
}
//MyClass.java
public class MyClass
{
public class workingMethod( String pointer myStr_ )
{
System.out.println(*myStr_);
}
}[/Codebox]
Esa es la idea, que el método directamente ignore el nombre original de la variable, simplemente que sepa donde tiene que escribir y leer y que lo haga indiferentemente de la variable que sea.
Se que esa nomenclatura de punteros no existe en java XD.. es de gemix, pero vamos que esa es la idea de lo que quiero hacer.
BrujoMX la idea es que el método no conozca la variable con la que tiene que trabajar, simplemente quiero pasarsela por referencia para no limitar al método a una variable, si no que pueda trabajar con cualquiera que sea de ese tipo, por poner un ejemplo sería algo así lo que quiero hacer:
[Codebox=java file=Untitled.java]//Main.java
public class Main
{
public static String str_1;
public static String str_2;
public static void main(String...args)
{
MyClass obj_1 = new MyClass().workingMethod( &str_1 );
MyClass obj_2 = new MyClass().workingMethod( &str_2 );
}
}
//MyClass.java
public class MyClass
{
public class workingMethod( String pointer myStr_ )
{
System.out.println(*myStr_);
}
}[/Codebox]
Esa es la idea, que el método directamente ignore el nombre original de la variable, simplemente que sepa donde tiene que escribir y leer y que lo haga indiferentemente de la variable que sea.
Se que esa nomenclatura de punteros no existe en java XD.. es de gemix, pero vamos que esa es la idea de lo que quiero hacer.
http://iphonegamesdev.com/
[GEMIX - VIDEO TUTORIALES] http://www.youtube.com/user/fasetconasa
http://gurugameprogramming.blogspot.com.es/
[GEMIX - VIDEO TUTORIALES] http://www.youtube.com/user/fasetconasa
http://gurugameprogramming.blogspot.com.es/
- CicTec
- Posts: 16590
- Joined: Thu Jul 31, 2008 10:18 pm
Re: Pregunta de Java, modificar variable global desde objeto
Como ya dicho en Java no existen los punteros, aunque usa ese mecanismo implicitamente, no necesitas pasar usar el & para pasar el address a una variable u el * para obtener el valor, eso lo hace implicitamente Java, simplemente usa el dato como si fuera una variable normal.
Sobre pasar a un parametro cualquier tipo de dato, debes declarar este parametro de tipo Object, todavia si internamente el dato va a usar metodos o miembros especificos, debes acceder a ellos casteando oportunamiente el dato con el tipo (como harias en C).
Sobre pasar a un parametro cualquier tipo de dato, debes declarar este parametro de tipo Object, todavia si internamente el dato va a usar metodos o miembros especificos, debes acceder a ellos casteando oportunamiente el dato con el tipo (como harias en C).
- erkosone
- Posts: 10656
- Joined: Tue Feb 24, 2009 2:13 pm
- Location: Barcelona.
- Contact:
Re: Pregunta de Java, modificar variable global desde objeto
Gracias por la información 
http://iphonegamesdev.com/
[GEMIX - VIDEO TUTORIALES] http://www.youtube.com/user/fasetconasa
http://gurugameprogramming.blogspot.com.es/
[GEMIX - VIDEO TUTORIALES] http://www.youtube.com/user/fasetconasa
http://gurugameprogramming.blogspot.com.es/
- CicTec
- Posts: 16590
- Joined: Thu Jul 31, 2008 10:18 pm