Una clase consiste básicamente en campos y métodos. En Java, las propiedades se llaman campos. Un método es un grupo de declaraciones codificadas para lograr una tarea. Por lo general, para usar una clase en Java, la clase debe instanciarse en un objeto. Una clase es una unidad de propósito general desde la cual se pueden instanciar objetos. Instanciar (crear) un objeto no es realmente un gran problema. Es un proceso muy corto en el que los campos de la clase tienen valores dados. Los objetos de una clase difieren entre sí porque tienen diferentes valores para sus mismos nombres de campo. Los métodos de todos los objetos y la clase son los mismos.
Un método estático es un método cuya implementación (definición) en una implementación de clase (definición) comienza con la palabra reservada, estática. Un método estático no necesita un objeto en otro para que ejecute. Por otro lado, un método no estático necesita un objeto en otro para que ejecute; consulte los detalles a continuación. En Java, tener un método no estático ejecutar e invoca el método; tener un método estático ejecutar es llamar al método. También se llama un método de constructor (simplemente llamado constructor): ver a continuación.
Este artículo ilustra cómo invocar un método no estático y llamar a un método estático.
Clase y sus objetos
Considere la siguiente implementación de clase:
Clase AclassEl nombre de la clase es aclasa. Tiene un campo, str, que contiene una cadena literalmente. La clase tiene dos métodos: el método del constructor y un método que devuelve vacío. El método del constructor no devuelve nada, y su nombre es el mismo que el de la clase. El propósito del método del constructor es inicializar algunos o todos los campos con valores no defectuosos. Este constructor inicializa el campo, Str, con el valor de su parámetro (argumento enviado).
El método de interés en esta clase se llama MTHD. Devuelve nulo. Su cuerpo imprime el valor del campo de la clase. Sin embargo, esta impresión solo se puede realizar en este caso cuando un objeto ha sido instanciado desde la clase. Y así, es el objeto el que haría la impresión, en este caso, a través del mismo método correspondiente.
Una clase principal apropiada para la clase anterior es la siguiente:
clase pública THECLASSLa clase principal tiene el método principal (), que siempre debería estar allí. En este método main (), la primera declaración instancia un objeto, llamado obj, de la clase aclass. Utiliza el operador, nuevo y el nombre del constructor, con un argumento determinado, "visto". "Aclass (" visto ")" significa llamar al constructor. Con él, el método del constructor se ejecuta para inicializar el campo, STR con "visto". Otros objetos instanciados de esta misma clase, Aclass, inicializarán sus propios campos STR con diferentes valores de cadena. La segunda declaración, en el método main (), invoca el método, mthd (), que ahora imprime en la salida,
vistométodo estático
La siguiente implementación de la clase es similar a la clase anterior, pero el mismo método de interés se ha hecho estático:
Clase AclassEsta vez, no hay un método de constructor; No hay necesidad de ello. El parámetro del método del constructor es ahora el parámetro del método de interés. El método de interés se ha hecho estático precediéndolo con la palabra reservada, estática, en la implementación del método (definición).
Una clase principal apropiada para la clase anterior es:
clase pública THECLASSEl método principal aquí tiene solo una declaración. Esta expresión (declaración) no instancia un objeto de la clase. Simplemente usa el nombre de la clase, seguido de un punto, y luego el nombre del método estático, con su argumento, "visto". La salida del método estático es,
vistoLa expresión, "Aclass.mthd ("visto") ", llama al método estático, mthd (), y no lo invoca. Se invoca un método no estático, mientras que se llama un método estático. Un método estático no funciona con el objeto instanciado. Normalmente funciona con la clase (nombre).
Método estático en la clase principal
La clase principal no está instanciada. Se debe hacer un método en la clase principal estática. El siguiente programa ilustra esto:
clase pública THECLASSEl método de interés está separado del método main (). Su implementación debe estar precedida a la palabra reservada, estática. El método main () también es estático. Ambos métodos estáticos se llaman pero no se invocan. El método de interés se llama con la expresión,
mthd ("visto");No hay puntos y objeto o clase anteriores; Porque tanto mthd () como main () están en la misma implementación de clase. La salida es:
vistoConclusión
En C ++, se llama un método (función miembro) y también se llama una función de miembro estático. En Java, se invoca un método no estático, mientras que se llama un método estático. Muchos programadores de Java no se preocupan por la diferencia entre Invoke and Call. Sin embargo, este lector debe ser un programador de Java con una mejor imagen utilizando el vocabulario Java de manera apropiada: se invoca un método no estático, mientras se llama un método estático. Las ilustraciones se han hecho arriba. Cualquier método en la clase principal tiene que ser estática. Este método se llama en la clase principal sin precedirlo, con un punto y objeto o clase.