aabaa

Páginas: 6 (1354 palabras) Publicado: 2 de julio de 2013




«Año de la Inversión para el Desarrollo Rural y la Seguridad Alimentaria»






Nombre:
anais castro ullaure

Curso:
Técnicas de Programación

Fecha:
20/6/13

Profesor:
Ricardo More Reaño

Tema:
Actividad De Investigación










Talara 2013




Introducción


Bueno esta echo con la finalidad de mostrar lo más concreto de los métodos estáticos ymétodos no estáticos. El método estático es una función de que podemos diseñar también es Un método de instancia es el que se invoca siempre sobre una instancia (objeto) de una clase. Por ejemplo un objeto de tipo Persona es un método de instancia: para invocarlo necesitamos una instancia de persona. Un método de clase es aquel que puede ser invocado sin existir una instancia.




Métodosestáticos (usan static) y métodos no estáticos(no usan static)


Métodos estáticos (usan static)


Cuando vea métodos estáticos en una clase, recuerde que el diseñador pretendía que esa función estuviese conceptualmente asociada a la clase como un todo.
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.Normalmente, la dirección del objeto actual (this) se pasa de forma encubierta cuando se llama a cualquier método, pero un miembro static no tiene this, que es la razón por la cual no puede acceder a los miembros ordinarios. Por tanto, se obtiene el ligero incremento de velocidad proporcionado por una función global debido a que un método estático no implica la carga extra de tener que pasar this. Al mismotiempo, obtiene los beneficios de tener la función dentro de la clase.
Para atributos, static indica que sólo existe un espacio de memoria por atributo para todos los objetos de la clase. Esto establece que el uso de static para definir objetos dentro de una función significa que sólo se utiliza una copia de una variable local para todas las llamadas a esa función.
Aquí aparece un ejemplomostrando atributos y métodos estáticos utilizados conjuntamente:
Por ejemplo:
public class AreaTriangulo{
public static void main(String arg[]) throws IOException
{
float base,altura,area;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Ingrese base del triangulo :");
base=Float.parseFloat(in.readLine());
System.out.print("Ingrese altura deltriangulo :");
altura=Float.parseFloat(in.readLine());
area=base*altura/2;
System.out.println("El area del triangulo es : "+area);
}
}

VARIABLES Y METODOS ESTATICOS:

En un momento determinado se puede querer crear una clase en la que el valor de una variable de instancia sea el mismo (y de hecho sea la misma variable) para todos los objetos instanciados a partir de esa clase
Se usarápara ello la palabra clave static.
El valor de la variable versión será el mismo para cualquier objeto instanciado de la clase Documento. Siempre que un objeto instanciado de Documento cambie la variable versión, ésta cambiará para todos los objetos.
De la misma forma se puede declarar un método como estático, lo que evita que el método pueda acceder a las variables de instancia no estáticas.La modificación de la variable numero_de_capitulos no funciona porque se está violando una de las reglas de acceso al intentar acceder desde un método estático a una variable no estática.
Todas las clases que se derivan, cuando se declaran estáticas, comparten la misma página de variables; es decir, todos los objetos que se generen comparten la misma zona de memoria. Las funciones estáticas seusan para acceder solamente a variables estáticas.
En el código anterior, si se llama a la función una Función a través de un puntero a función, no se podría acceder a bar, porque al utilizar un puntero a función no se pasa implícitamente el puntero al propio objeto (this). Sin embargo, sí se podría acceder a bar si fuese estática, porque siempre estaría en la misma posición de memoria para todos...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS