final

final类:不可被继承。

final变量:常量,定义就要显示初始化,之后不能再被重新赋值可以被继承。

final方法:在子类可以被继承;可以被"重载";但是不能被重写(override).

   

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

package com.fs.po;

   

public class A {

public final int AGE = 100;//全局

public void m1() {

int x = this.AGE;

System.out.println(x);

//                this.AGE = 342;        //错的。final变量(常变量),定义就要显示初始化,之后不能再被重新赋值。

}

public final void final_m2() {

final int x=10;        //局部

System.out.println(x);

//                x = 34;                        //错的。final变量(常变量),定义就要显示初始化,之后不能再被重新赋值。

//The final local variable x cannot be assigned. It must be blank and not using a compound assignment

}

public static void main(String[] args) {

System.out.println(new A().AGE);

new A().m1();

new A().final_m2();

}

}

/*——————————————————————————————————————————————————*/

package com.fs.po;

   

public class B extends A {

@Override

public void m1() {

}

//        public final void final_m2() {

//                不能重写final修饰的方法

//        }

public void final_m2(int x) {

//                可以再子类中"重载"final修饰的方法

   

}

   

public static void main(String[] args) {

A a=new A();

System.out.println(a.AGE);

a.m1();

a.final_m2();

B b=new B();

System.out.println(b.AGE);//final变量可以被继承。

//b.AGE=11;//错。不能再被修改

b.m1();

b.m1();

b.final_m2();//对的。//final方法在子类子类可以被继承;可以被"重载";但是不能被重写(override).

}

}

   

   

   

原文地址:https://www.cnblogs.com/mylinux/p/3064980.html