programacion
TRANSCRIPT
UNIVERSIDAD CATÓLICA LOS
ÁNGELES DE CHIMBOTE
FACULTAD DE INGENIERÍA
E.A.P INGENIERÍA DE SISTEMAS
ALUMNA:
MAUTINO TOLENTINO ROSSY
ASIGNATURA:
TÉCNICAS DE PROGRAMACIÓN
DOCENTE:
ING. NOE SILVA ZELADA
Introducción
En este tema hablaremos sobre los métodos estáticos y no estáticos, veremos las
diferencias que existen entre ellos y como se declaran al momento de ser
programados en el lenguaje de java.
En esta investigación se ha tratado de recopilar las ideas esenciales que nos
ayudarán a reconocer las situaciones en las que es recomendable el uso de
métodos estáticos y en cuáles no.
Por un lado tenemos los métodos no estáticos, también llamados métodos de
instancia. Estos métodos sólo pueden ser llamados en un objeto de la clase a la
que pertenece, y pueden acceder tanto a miembros estáticos como no estáticos.
Por otro lado, están los métodos estáticos, también llamados métodos de clase,
que se pueden llamar tanto en la clase como en un objeto de la clase, pero, por
contra, sólo pueden acceder a miembros estáticos.
A continuación pasamos a explicar el método static y no static y las conclusiones
del tema.
Los métodos estáticos son métodos que se declaran en una clase no para ser
utilizados como mensajes a los objetos sino para producir acciones que no
están asociadas a ningún objeto en particular.
Los métodos estáticos se declaran en la clase anteponiendo el calificador
static, independientemente de que sean públicos o privados.
Un método estático no puede acceder a los atributos ordinarios, sólo a los
estáticos. Sólo puede llamar a otros métodos estáticos.
Los métodos estáticos no pueden acceder a atributos no estáticos ni llamar a
métodos no estáticos.
EJEMPLO:
En la clase alumno, donde habíamos declarado la variable estática curso
private static String curso;
//Podemos añadir el método estático
static public void elCurso( String s)
{curso = s; }
//Para modificar el valor del curso
Un atributo o método no static, no existe hasta que se haga un new de la clase
y los atributos no son compartidos por las distintas instancias.
Cada instancia tiene su propia copia del atributo.
Esto hace que desde un método no static podamos usar sin problemas los
atributos y métodos static, pero no al revés.
Declaración del método No Static:
public class Clase
{
public int atributo=3;
public void metodo() {
// Hace cosas
}
public static void main (String [] args) {
Clase a = new Clase();
System.out.println (a.atributo);
a.metodo();
Clase b = new Clase();
System.out.println (b.atributo);
b.metodo();
// a.atributo y b.atributo son distintos. }
}
Conclusiones:
Como hemos comentado, un atributo o método static existe sin necesidad de
instanciar la clase y es compartido por todas las instancias de esa clase. Por el
contrario, un atributo o método no static, no existe hasta que se haga un new
de la clase y los atributos no son compartidos por las distintas instancias.
Cada instancia tiene su propia copia del atributo.
Esto hace que desde un método no static podamos usar sin problemas los
atributos y métodos static, pero no al revés. Desde un método static no se
puede usar o llamar directamente a un atributo o método no static.
Referencias bibliográficas:
http://chuwiki.chuidiang.org/index.php?title=Static
http://espanol.answers.yahoo.com/question/index?qid=20110409081521AA7DIcZ
http://espanol.answers.yahoo.com/question/index?qid=20110503171004AAXgeM5
http://www.idlebit.es/un-clasico-metodos-estaticos-vs-no-estaticos
http://foro.chuidiang.com/java-j2se/usar-metodos-static-o-noventajas-y-
desventajas/