`
len-len
  • 浏览: 21950 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

final讲解

    博客分类:
  • java
阅读更多

final--大家都不陌生的单词,可能脑海中浮现的是"不可修改"的概念,但是这个”不可修改“是真的不能修改么?我们探讨下final不为人知的一面。还是分几个方面,final大哥娶的几个老婆搭配讲解,一个是大老婆”类“,二个是二姨太”方法“,三个是三姨太”域“。

    final 类   

final类顾名思义,就是在声明一个类的时候,加上关键字final,这样的类有什么特点呢?第一个想到的是,这个类我不想别人用,这个类不能被继承,还有呢?也许你就可以不知道了,还有就是所有的方法都是隐式的加上了final,那么属性呢?我可以告诉你,属性还是属性,和普通的类的属性没有任何区别。

final方法

final方法可以想象也是不能被覆盖的,你可能想在子类中加上同样的方法,来实现覆盖,可是事实是你行不通,编译器会无法通过编译。这个就很类似于private的方法了,其实从大的归类来看,我们可以把private方法归类到final方法大类中去。在下篇讲到”多态“的时候就会出现这个分类。

告诉大家一个秘密,构造器都会隐式的加了final。

final域

这个可能是最有意思的,因为大多时候,我们也用的最多,也是很多初学者或者老师讲解的时候,给了一句根深蒂固的话,它是不能修改的。但是这个修改我们要重新的定义下,从字面上理解,可能就是说不能动它了,它就在那里放着,我们用就可以了,如果这个属性是基本类型,那没问题,如果他是一个对象的引用呢?我们就要重新的审视这个问题,他是可以被"修改"的,其实这个修改是修改的是对象的内容,而不是改变的是引用。指向的还是原来的引用,只是内存里面的值改变了,从某种意义上说,这种改变可以称为”修改“。

 

public class A {
	int s = 0;
	public final void say(){
		final A a = new A();
		a.s=1;
		final int in =0;
		in = 1;//error code
	}
} 

 

分享到:
评论
1 楼 yangnanenana 2012-02-27  
总结的很好,学习~

相关推荐

    java中final和static讲解及实例

    java中final和static讲解及实例

    final用法详解

    很好的final讲解,本人翻译java hardcore 第二章

    final CUT PRO功能讲解

    主要用于FINAL CUT PRO 功能介绍,适合于初学者

    举例讲解Java中final关键字的用法

    Java中的final关键字可以被用来修饰变量、方法和类等,意味着终结、不可改变,下面我们就来举例讲解Java中final关键字的用法:

    Linux 2.6内核标准 Part4 (Final)

    本书深入、系统地讲解了Linux内核的工作原理,对Linux内核的核心组件逐一进行深入讲解。 全书共8章,首先讲解Linux系统的引导过程;然后对Linux内核的3大核心模块--内存管理、进程管理、中断和异常处理进行了深入的...

    netty-resolver-4.1.53.Final.jar中文-英文对照文档.zip

    ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,...

    intel fellow讲解 moores law

    intel 先进工艺的总负责人,被称为intel的Mr. Process的 mark bohr亲自讲解摩尔定律的演进已经5nm一下先进工艺

    nginx核心讲解

    os CentOS release 6.2 (Final)/kernel-2.6.32/32bit gcc gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) gdb GNU gdb (GDB) Red Hat Enterprise Linux (7.2-50.el6) make GNU Make 3.81

    lucene,lucene教程,lucene讲解

    lucene,lucene教程,lucene讲解。 为了对文档进行索引,Lucene 提供了五个基础的类 public class IndexWriter org.apache.lucene.index.IndexWriter public abstract class Directory org.apache.lucene.store....

    jboss-logging-3.4.3.Final.jar中文-英文对照文档.zip

    ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,...

    OpenGL_Final.zip

    大作业是尽作者和电脑所能,复刻了《我的世界》这款游戏的漫游部分,实验操作方法已在控制台给出,方便操作一下将由三个部分讲解作业中的关键技术 1. 随机地形生成以及无限效果 2. 鼠标点击并读取三维世界坐标,用于...

    PHP面向对象技术(全面讲解)(高洛峰)

    PHP面向对象技术(全面讲解)(高洛峰) 本部分一共包括以下一些技术...16.final关键字的应用 17.__toString()方法 18.克隆对象 19.__call处理调用错误 20.自动加载类 21.把对象串行化 22.抽象方法和抽象类 23.php5接口技术

    Ajax_0987_03_Final

    Object-Oriented JavaScript 结合C#讲解javascript的面向对象的实现

    Spring4+Hibernate5+struts2需要jar包集合【附详细讲解】

    hibernate-commons-annotations-5.1.0.Final.jar hibernate-core-5.4.3.Final.jar hibernate-jpamodelgen-5.4.3.Final.jar istack-commons-runtime-3.0.7.jar jandex-2.0.5.Final.jar javassist-3.24.0-GA.jar javax...

    动力节点老杜Java基础入门视频教程——总结final

    本套Java视频教程适合绝对零基础的学员观看,该Java视频教程中讲解了Java开发环境搭建、Java的基础语法、Java的面向对象。每一个知识点都讲解的非常细腻,由浅入深。适合非计算机专业,想转行做Java开发的朋友,或者...

    动力节点老杜Java基础入门视频教程——final修饰实例变量

    本套Java视频教程适合绝对零基础的学员观看,该Java视频教程中讲解了Java开发环境搭建、Java的基础语法、Java的面向对象。每一个知识点都讲解的非常细腻,由浅入深。适合非计算机专业,想转行做Java开发的朋友,或者...

    try、catch、finally、return 执行顺序.doc

    try、catch、finally、return 执行顺序超详细讲解,包看包会。

    深入探索Android热修复技术原理6.29b-final.zip

    虽然方案很多,但是深入系统地讲解热修复技术细节的书籍基本没有,市面上国内外的各种Android书籍大部分只是泛泛地囊括Android开发的基础知识,然而基本都没有包含热修复技术的章节,最多只是一笔带过。即使有很多...

    PHP面向对象技术_全面讲解

    本部分一共包括以下一些技术点: 1.面象对象的概念 ...16.final关键字的应用 17.__toString()方法 18.克隆对象 19.__call处理调用错误 20.自动加载类 21.把对象串行化 22.抽象方法和抽象类 23.php5接口技术

Global site tag (gtag.js) - Google Analytics