作者: 杨海波 时间: 2012-6-1 19:11
final表示最终的意思,它修饰的类是不能被继承的;final修饰的方法能被继承(Math类里就有),但是不能够被重写。其实关系并不复杂,你只需要记住这样一句话:final可用于声明属性、方法和类,分别表示属性不可变,方法不可重写,类不可继承。当然final修饰的方法是可以被重载的 作者: 涂金哲 时间: 2012-6-3 11:20
final修饰基本数据:在java中,编译器有时需要将某些常量用于许多计算表达式,在编译期完成计算,可以将常量用final关键字修饰并在定义时赋值并且标志符大写。如:final static double PI=3.1415926。 final修饰对象引用时,表示引用被初始化指向某个对象后,就无法再使其指向另一个对象。如:
class Student{ int age;
public Student(int age){this.age=age;} }
public class ShowAge{ private String age;
private static final Student st=new Student(20);
public ShowAge(String age){ this.age=age; }
public static void main (String[] args){ ShowAge sA=new ShowAge("age");
sA.st=new Student(21); //错误提示:The final field ShowAge.st cannot be assigned
} }
final作为参数格式:f(final int i){};此时表示可以读参数不能修改,可用来向匿名内部类传递数据。 final方法:锁定方法,防止继承类修改。 final类:当类不需要被继承时,定义时加final关键字即可实现 final class A{} class B extends A{} //会出现错误提示