Ejemplo con arrays, métodos estáticos y variables estáticas

En este tutorial, analizamos el uso de la palabra clave static, para crear atributos y métodos que pertenecen a una clase y no a la instancia de una clase.

Cuando se crean varios objetos a partir del mismo molde, cada uno tiene sus propias copias de variables de instancia.

Cuando se quiere tener variables comunes a todos los objetos, se consigue creando variables estáticas. Las variables que tienen la palabra static en su declaración, se llaman atributos estáticos o variables de clase. En el caso de la clase "Tutorial10", las variables de clase son array y scanner. Están asociadas a la clase, en vez de al objeto.

Todas las instancias de la clase comparten la variable de clase, que tiene una posición fija en la memoria. Cualquier objeto puede cambiar el valor de la variable de clase, pero las variables de clase también pueden ser manipuladas sin crear una instancia de la clase.

El lenguaje de programación Java, permite, tanto métodos estáticos como variables estáticas. Los métodos estáticos son llamados con el nombre de la clase, sin tener que crear la instancia de la clase;

ClassName.methodName(args)

Los métodos estáticos se suelen utilizar para acceder a las propiedades estáticas, como veremos en el Tutorial 13, JavaBeans, public y private.".

En el video tutorial, explicaremos la clase que tenemos a continuación; Tutorial10, que tiene cuatro métodos; insertarDatosArray, sumarArray(), maxArray() y promedioArray():

package com.edu4java.Tutorial10;

import java.util.Scanner;

public class Tutorial10 {

	static int[] array = new int[5];
	static Scanner scanner = new Scanner(System.in);

	public static void main(String[] args) {
		insertarDatosArray();
		sumarArray();
		maxArray();
		promedioArray();
	}

	private static void insertarDatosArray() {
		for (int i = 0; i < array.length; i++) {
			System.out.print("insertar array[" + i + "]:");
			array[i] = scanner.nextInt();
		}

	}

	private static void sumarArray() {
		System.out.print("Suma: ");
		int acumulador = 0;
		for (int i = 0; i < array.length; i++) {
			acumulador = acumulador + array[i];
			System.out.print("+" + array[i]);
		}
		System.out.println("= " + acumulador);
	}

	private static void maxArray() {
		System.out.print("Maximo: ");
		int max = 0;
		for (int i = 0; i < array.length; i++) {
			if (array[i] > max) {
				max = array[i];
			}
		}
		System.out.println(max);
	}

	private static void promedioArray() {
		System.out.print("Promedio: ");
		double promedio = 0;
		for (int i = 0; i < array.length; i++) {
			promedio = promedio + array[i];
		}
		promedio = promedio / array.length;
		System.out.println(promedio);

	}

}

<< Anterior Siguiente >>