fggg

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 y métodos no estáticos. El método estático esuna 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étodos estáticos (usan static) y métodos no estáticos(nousan 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 deforma 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 mismo tiempo, obtiene los beneficios de
tener lafunció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 ejemplo mostrando atributos y métodos estáticosutilizados
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 del triangulo :");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 dela 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 variablenumero_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 se usan para acceder solamente a
variablesestá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 los objetos que se creasen de Una...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • fggg
  • Fggg
  • Fggg
  • fggg
  • Fggg
  • Fggg
  • fggg
  • Fggg

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS