Constructor que retornar parametros
que tal bueno el titulo lo dice la idea es esa . o algo asi quiero saber si se puede
digamos que por ejemplo tengo una clase que calcula la suma de dos numeros, lo ideal seria hacer la clase y usar un metodo que reciba los numeros y devuelva eso, pero lo que yo quiero es saber si se puede hacer directamente sobre el costructor.
ejemplo digamos de la forma clasica seria asi, suponiendo que ya tengo la clase que hace la suma
Suma suma = new Suma();
System.out.println(suma.resultado(10,2)); //me devolveria 12
ahora lo que yo quiero es que sea asi
System.out.println(new Suma(10,2));
como puedo hacer que el constructor que recibe los parametros me devuela algo, buscando vi por ahi que sobre escriben la clase toString()
pero tendria que convertir mi resultado de int a String y si cuando lo llamo necesito que sea int tengo que pasar de String a int nuevamente se me hace unos pasos innecesarios..
alguna sugerencia o de plano no se puede ya le busque mucho y en las apis de java no encuentro si esta o no, se me complica algo el ingles
- Inicie sesión o regístrese para enviar comentarios
Creo que no se puede. Ya que
Creo que no se puede. Ya que una de las características de un constructor es que no tiene un tipo de valor.
no se puede
un constructor devuelve necesariamente una instancia de la clase cuyo constructor estás invocando. Y para el ejemplo que estás poniendo sería mejor en todo caso tener métodos estáticos; no necesitas tener una instancia de Suma.
Como dice ezamudio: public
Como dice ezamudio:
return a + b;
}
...
System.out.println( suma( 10, 2 ) ); // imprime 12
La pregunta es, para que quieres tener una instancia al objeto? Quizá lo que quieres hacer se puede hacer de una forma diferente.
Saludos.
gracias por las respuestas
gracias por las respuestas entonces no se puede :D ..
lo que dice ezamudio de hacer mejor métodos estáticos suple eso que pido, aun que solo era una duda que tenia, pero ya me achaco otra
por ejemplo por que entonces si quiero crear una ventana y digamos heredo un JFrame
y para que me salga mi ventana puedo hacer simplemente esto:
public static void main(String[]args)
{
new Ventana();
}
lo mismo sucederia si hago un JPanel y lo meto dentro de un JFrame podria
solo hago digamos esto
new miPanel();
seria solo una característica especial para las clases nativas de java?
No solo heredando de JFrame
No solo heredando de JFrame se puede. Usando el atributo JFrame tambien es posible.
Y no solo es propio de las clases de java. Tus propias clases pueden hacerlo.
Es crear un objeto, como:
new Clase(); //Esta forma tambien es igual.
La primer forma crea un objeto de la clase y una instancia, con el objeto puedes usar las propiedades de la clase.
La segunda forma crea la instancia de la clase pero sin objeto.
Si me equivoque que alguien me dentenga!, =) ah no, que alguien me corrija.
bien ya entendi la idea
bien ya entendi la idea gracias por su respues y comentarios ¡¡