* final: final
*
* 1. final se puede usar para modificar la estructura: clases, métodos, variables
*
* 2. final se usa para modificar una clase: esta clase no puede ser heredada por otras clases.
* Por ejemplo: clase String, clase System, clase StringBuffer
*
* 3. final se usa para modificar el método: indica que este método no se puede anular
* Por ejemplo: getClass ();
*
* 4. final se usa para modificar la variable : esto La "variable" en ese momento se llama una constante
* 4.1 atributos de modificación final: puede considerar posiciones de asignación: inicialización explícita, inicialización en el bloque de código, inicialización en el constructor
* 4.2 modificación final de variables locales:
* especialmente el uso de modificación final Cuando es un parámetro formal, indica que este parámetro formal es una constante. Cuando llamamos a este método, asignamos un parámetro real al parámetro constante. Una vez asignado
*, este parámetro solo se puede usar en el cuerpo del método, pero no se puede reasignar.
*
* static final se usa para modificar atributos: constantes globales
public class FinalTest {
final int WIDTH = 0;
final int LEFT;
final int RIGHT;
// final int DOWN;
{
LEFT = 1;
}
public FinalTest(){
RIGHT = 2;
}
public FinalTest(int n){
RIGHT = n;
}
// public void setDown(int down){
// this.DOWN = down;
// }
public void doWidth(){
// width = 20;
}
public void show(){
final int NUM = 10;//常量
// NUM += 20;
}
public void show(final int num){
// num = 20;//编译不通过
System.out.println(num);
}
public static void main(String[] args) {
int num = 10;
num = num + 5;
FinalTest test = new FinalTest();
// test.setDown(3);
test.show(10);
}
}
final class FinalA{
}
//class B extends FinalA{
//
//}
//class C extends String{
//
//}
class AA{
public final void show(){
}
}
class BB extends AA{
// public void show(){
//
// }
}