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