Metodos "static"

Buenas tardes, a lo mejor digo una payasá, pero no sería más fácil declarar todos los metodos como "static", y de esa forma no tener que estar creando objetos y poder llamar directamente a los metodos:

Clase.metodoLlamado();

A ver si pueden despejar mis dudas.

Un saludo.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

estado

Y el estado apá?

Los métodos estáticos son un vil parche para poder tener algo parecido a funciones de primer nivel. Un método estático sólo tiene acceso a las variables estáticas de la clase (a las cuales también tienen acceso los objetos de dicha clase). Si tienes objetos con estado, necesitas tener métodos de instancia para poder trabajar con dicho estado (cuando digo "estado" me refiero a tener variables de instancia; cada objeto tiene sus propias variables de instancia).

Imagen de neko069

Puedes tener métodos

Puedes tener métodos estáticos si y sólo si estás seguro que su funcionamiento siempre va a ser el mismo, además de estar seguro que no necesitas de una instancia de la clase donde construyes ésos métodos. Por ejemplo, tienes la clase Math donde todos sus métodos son estáticos, y no es necesario construir ningú objeto, llamas los métodos directamente.

Imagen de genitalico

creo que ya te respondieron

creo que ya te respondieron arriba.. con respecto a los métodos estáticos a mi siempre me habría surgido una duda si clase Math no fuera estática no seria mejor?

digo por ejemplo al instancia la clase podríamos pasarle un numero al constructor y de ahí solo obtener los resultados con X método..

digamos Math m = new Math(variable);

coseno = m.getCos();
seno = m.getSin()
//etc

en lugar de cosas como
coseno = Math.cos(variable);
seno = Math.sin(variable)

no se es solo algo que se me había ocurrido en los primeros días que vi Java .. igual y es una payasada como dice jpablo2003 xD..

pero contestando a tu pregunta jpablo2003 de ser posible no uses o hagas tu Clases que tengan métodos estáticos..

Imagen de bferro

El parche es necesario

Como comentó Enrique, las funciones ajenas al comportamiento de un método (funciones globales) son un mal necesario en la programación orientado a objetos. Cada lenguaje utiliza una manera diferente de coser ese parche, quedando el parche más elegante en un lenguaje que en otro.
Cada objeto es una pequeña computadora que resuelve los mensajes que le llegan acorde al estado en que se encuentran. Conviene entender bien el paradigma O.O. Cuando lo logras te das cuenta de que programar con puros métodos estáticos no tiene que ver con ese estilo de programación