static final de Java palabra clave

1. estática

El concepto básico del 1,1 estática

método estático no es así. No se puede llamar a los métodos no estáticos dentro del método estático, a su vez, es posible. Además, puede crear cualquier objeto en ausencia de la premisa, sólo para llamar al método estático a través de la propia clase. En realidad, esto es el propósito principal de los métodos estáticos.
---- "programación Java Ideas" P86

Es simplemente: Llamada conveniente (método / variable) en el caso de no crear el objeto en el suelo.
A saber: la palabra clave static para crear un objeto no se modifica necesita llamar directamente desde el nombre de la clase puede ir visita.
1.2 uso estático

  • La clase modificado palabra clave static (clases internas estáticas solamente pueden ser modificados)
public class StaticTest {
    	//static关键字修饰内部类
    	public static class InnerClass{
    		InnerClass(){
    			System. out . pr intnc("========静态内部类========");
    		}
    		public void InnerMethod( {
    			System. out.pr intln("========静态内部方法======");
    		}
    		public static void main(String[] args) {
    			//直接通过StaticTest类名访问静态内部关InnerClass
    			InnerClass inner=new StaticTest.InnerClass();
    			//静态内部类可以和普通关一样使用
    			inner.InnerMethod();
    		}
    	}
    /*输出是
    *========静态内部类========
    *========静态内部方法==========
    */
  • Un método para modificar la palabra clave static

    • Los métodos estáticos se denominan en general como método estático, se puede acceder el método estático no depende de cualquier objeto
    • No se puede acceder a la clase en una estática variables miembro y métodos miembros no estáticos método no estático
    • El método es miembro no estático puede acceder a un miembro estático métodos / variables
    • métodos miembro estático puede ser llamado un método miembro estático
  • variables estáticas modificadas palabras clave

    • también conocido como variables estáticas Las variables estáticas, la diferencia entre las variables estáticas y no estáticos son variables: Las variables estáticas son compartidos por todos los objetos, sólo una copia en la memoria, es sólo si y cuando se inicializa la clase de carga inicial.
    • variables miembro estático secuencia de inicialización se inicializan secuencia definida.
  • El bloque de palabras clave estática modificado

    • bloque estático de código ejecuta cuando la clase se carga por primera vez, se lleva a cabo sólo una vez
    • Para la formación de un bloque estático de código para optimizar el rendimiento de las aplicaciones

2. definitiva

El uso básico del 2,1 definitiva

  • modificación final de palabras clave de variables

    • Con la palabra clave final modifica la asignación de variables sólo una vez, y no puede cambiar su valor durante el curso de la vida.
    • Al mismo tiempo miembros utilizan estática y el período de modificación final no se pueden cambiar sólo ocupan espacio de almacenamiento en la memoria.
  • métodos de modificación de parámetros clave final

public class FinalTest {
    /* ... */
    public void finalFunc(final int i, final Value value) {
        // i = 5; 不能改变i的值
        // value = new Value(5); 不能改变v的值
        value.v = 5; // 可以改变引用对象的值
    }
}
class Value {
    int v;
    public Value(int v) {
        this.v = v;
    }
}
  • Los métodos de modificación finales de palabras clave

    • Plus la final frente al método de palabras clave, este método puede no ser representativa de la anulación clase edredón el método
    • último método es más rápido que el método no final, porque en tiempo de compilación ha sido la unión estática, y no es necesario la unión dinámica en tiempo de ejecución
    • Todos los métodos de clases particulares designados implícitamente como la final
  • clase modificado palabra clave final

    • Uso final para modificar la clase llamada clases finales. clase final por lo general es completamente funcional, que puede no ser heredada
    • Todos los miembros de los métodos de la clase finales serán designados de forma implícita como el método final
    • Hay muchas clases de Java es final, tales como cuerdas, número entero y otros envases

Beneficios 2.2 última palabra clave

  • rendimiento mejorado palabra clave final. aplicaciones Java JVM y se almacenan en caché última variable.
  • variables finales con seguridad pueden ser compartidos en un entorno multiproceso, sin la necesidad de sobrecarga de sincronización adicional.
  • La palabra clave final, método JVM, las variables de clase y optimización.

Se adjunta a la secuencia de inicialización de clase:

variable estática clase padre

matriz estática bloque de código de clase

variables estáticas de subclases

Subclases bloque de código estático

Padres variables de clase A comunes

bloque de código padre común

El constructor de la clase padre

Subclase de variables ordinarias

Subclases bloque de código normal

subclase de constructores

Supongo que te gusta

Origin www.cnblogs.com/huaranmeng/p/12595659.html
Recomendado
Clasificación