final classes

来源:互联网 发布:门面模式 java 编辑:程序博客网 时间:2024/06/17 00:23

摘自 http://blog.sina.com.cn/s/blog_618199e60101ggfz.html 


当把一个class声明为final时,也就决定了此class将不能被继承(比如String类,此类为final类,具体可以参见其实现java.lang.String)。final classes的methods可以是final,也可以是非final的;其中的数据成员可以是final的也可以不是,他们将服从final data的原则。参考以下例子:

public final class Test6{ private final int li_int=0; public int li_a=123; public final int mod(){  return li_int; }  public int pri_mod(){  return li_a;  } public static void main(String args[]){  System.out.println(new Test6().pri_mod());  }}

//Test6是final类,所以Test7不能继承public class Test7 extends Test6{   private int li_int=0;}

PS:从以上可以看出,final是将一个对象的地址不变,对基本类型的值保持不变(因为基本类型变量指向的物理地址存放value而对象变量指向的物理地址存放对象内容的地址)。
0 0
原创粉丝点击