`
qzww5324
  • 浏览: 37995 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java bookmark (三)

阅读更多

1.final关键字:final的使用有3种情况

(1)数据:在成员变量中用final修饰,表示了该数据的不变性,根据参数的类型又可以分为两种不同情况。如果该成员变量是基本类型,那么通过final修饰,该变量就不可以改变,如果加上static就表示了该成员变量,作为全局变量使用;如果该成员变量是引用类型,用final修饰,那么该引用不可再变,即引用的指向不可变,但是引用所指向的对象的值可以改变。

 

final数据的初始化在域的定义处或构造处进行,即final在使用前必须初始化。

 

final可以修饰方法中的参数,但是只能读不可修改。

 

(2)方法:方法用final修饰作用主要时为了该方法不能在继承的时候被修改,还有一个作用就是把被修饰的方法的调用转为内嵌调用以提高效率,不过不提倡用该种方式来提高效率,在比较新的jvm中,已经提供了这种功能。

 

类中private方法都隐式的指定为final。

 

(3)类:final修饰类时,表示该类不允许被继承,该类中的所有方法都被隐式指定为final方法。

 

2.继承初始化

当导出类执行时,即使没显示的去调用基类或打算生成一个基类对象,也会先去加载基类中的static域,然后加载导出类的static域,完成类的加载,基类构造器和导出类的构造器一样,以相同的顺序来经历相同的过程。在基类构造器完成之后,实例变量按其次序被初始化。最后构造器的其余部分被执行。

 

3.动态绑定:

   将一个方法调用同一个方法主体关联起来被称作绑定。在运行时根据对象的类型进行绑定称为后期绑定,后期绑定也称为动态绑定或运行时绑定。java中除了static方法和final(private)方法外,其他方法都是后期绑定

 

4.几个缺陷:

   a.只有非private方法才可以被覆盖。所以在导出类中,对基类的private方法。最好采用不同的名字。

 

public class A{
  private void f(){System.out.println("private f()")};
  public static void main(String[] args){
    A a=new B();
    a.f();
  }
}

class B extends A{
  public void f(){System.out.println("public f()")}
}

 输出的结果为:

    private f();

 

b.任何域访问操作都将由编译器解析,因此不是多态。静态方法也不具有多态性,因为它是对类来说,而不是对象。

c.在构造器内部唯一能够安全调用的那些方法是基类中的final(private)方法,调用其他方法会存在隐患。

 

分享到:
评论

相关推荐

    java8集合源码-bookmark:书签

    java8 集合源码 Github收藏夹 这是个收藏夹, 收集了Github上看到的各种不同的优秀工具,框架,知识合集 RPC - 阿里出品的使用范围广泛的RPC框架 - 微博出品的跨语言的RPC框架 - 百度出品的工业级RPC框架 - gRPC是一个...

    java8集合源码-bookmark:常用书签

    java8集合源码 分布式系统 原则 降价演示 工具 Java并发 网页 HTTP Javascript 网关 认证&授权auth 单点登录 SSO 规格 虚拟机 垃圾收集 代理JVM JDBC 码头工人 库伯尼特斯 热图 强度图 地理信息系统 ETL 日程 代码...

    Thinking in Java 4th Edition + Annotated Solution Guide (代码)英文文字版 带书签 有答案

    标签 "Thinking Java Solution Bookmark pdf" 概括了资源的主要内容:关于思考Java的解决方案,书签辅助学习,以及资源的格式为PDF。这表明这是一个便于阅读和参考的学习资料。 4. **压缩包子文件的文件名称列表**...

    java操作word(包含书签插值)

    Java操作Word主要依赖于第三方库,如Apache POI和JACOB。Apache POI是一个用于读写Microsoft Office格式档案的API,而JACOB则是一个Java和COM桥接库,允许Java程序调用Windows COM组件,如Microsoft Office。 2. *...

    Introduction to Programming in Java 英文版

    《Introduction to Programming in Java》是Java编程初学者的宝贵资源,尤其因其与知名图书《算法》第四版出自同一...同时,书中的书签功能("with bookmark.pdf")可以帮助读者快速定位到特定的学习点,提高学习效率。

    java多个PDF文件合并为一个PDF文件源码

    在Java编程环境中,合并多个PDF文件是一项常见的任务,特别是在处理文档集合或自动化工作流程时。以下是一个关于如何在Java中实现这一功能的详细说明。 首先,我们需要一个库来处理PDF文件,Apache PDFBox是一个...

    bookmark-1.1.5.1-project

    开发者可能需要配置客户端库,如使用Java的Apache HttpClient或JavaScript的Axios,来处理这些任务。在本项目中,可能提供了关于如何配置和使用这样的客户端库的示例代码。 在"bookmark"子文件中,可能包含了以下...

    Java 版浏览器(居于jdic制作)

    此外,开发者可能还利用了JDIC提供的其他辅助类和接口,如History管理和Bookmark服务,以实现浏览器的基本功能。 为了构建美观的用户界面,开发者可能使用了Java Swing或JavaFX库。Swing是Java的标准GUI库,提供了...

    java8集合源码-bookmark:收集了优秀工具,框架,知识

    java8 集合源码 这是个收藏夹, 收集了各种不同的优秀工具,框架,知识合集 RPC - 阿里出品的使用范围广泛的RPC框架 - 微博出品的跨语言的RPC框架 - 百度出品的工业级RPC框架 - gRPC是一个领先的, 开源的, 高性能的RPC...

    java操作word,可以随意操作书签

    Java操作Word的能力主要依赖于Apache POI库,但如标题和描述所提到的,我们可以不使用POI或其他第三方库如java2word,而是利用Java的内置功能和API来实现对Word文档的操作,尤其是针对书签的处理。下面将详细介绍...

    Java NIO 中英文版

    Java NIO,全称为Non-Blocking Input/Output(非阻塞输入/输出),是Java平台中用于替代标准的I/O模型的一种新机制。在传统的Java I/O中,使用的是Blocking I/O,即阻塞式I/O,这种模型下,线程在等待数据就绪时会被...

    Bookmark.rar

    综上所述,这个"Bookmark.rar"压缩包是一个专注于Spring Java技术的学习资源集合,包含了一个名为"Bookmark.html"的HTML文档,记录了学习者在数据分析课程中的学习经验和技巧,特别是关于Spring框架的深入理解和实践...

    Java NIO 中英文版 + Pro Java 7 NIO.2

    Java NIO,全称为Non-Blocking Input/Output(非阻塞输入/输出),是Java平台中用于高效处理I/O操作的重要框架。它在Java 1.4版本中被引入,替代了传统的IO模型,提供了更高级别的I/O操作机制,以适应并发编程的需求...

    java8集合源码-github-bookMark:github-bookMark

    java8 集合源码 Github收藏夹 这是个收藏夹, 收集了Github上看到的各种不同的优秀工具,框架,知识合集 Web框架 - Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发Swift、代码量少、学习简单、功能强大、轻量级...

    bookmark.rar

    总的来说,这个"bookmark.rar"文件对于正在学习或已经在使用Spring和Hibernate的Java开发者来说是一个宝贵的资源集合,它可能包含了从入门到进阶的各种学习路径,帮助他们提升在Spring框架和Hibernate ORM工具方面的...

    java图像压缩源码-bookmark:一个java程序员日常书签导航~在线工具,API,帮助手册,资源,阅读

    java-developer-bookmark 一个java后台开发人员的常用书签导航 本人是一个java程序员,常常在日常开发中会用到线上一些工具,我个人感觉很实用的,因此分享给大家,希望大家喜欢,欢迎各位fork一起完善! 在线工具 :...

    JAVA SWT 多标签浏览器

    `bookmark`文件可能是一个数据结构或数据库,用于存储用户的书签信息。在浏览器中,书签功能允许用户保存常用网址,方便日后快速访问。开发者可能通过读取和写入这个文件来实现书签的添加、删除和查找功能。 `...

    Spire.Doc.jar +Test.java

    在IT行业中,处理文档操作是一项常见的任务,尤其是在Java开发中。`Spire.Doc.jar` 是一个功能强大的Java库,专门用于处理Microsoft Word文档。在这个场景中,我们将探讨如何使用`Spire.Doc.jar`来实现一个特定的...

    Java分布式架构.pdf

    从给定的代码结构中,我们可以看到,Jeesz 项目核心代码结构分为多个模块,包括 jeesz-utils、jeesz-config、jeesz-framework、jeesz-core-cms、jeesz-core-gen、jeesz-core-bookmark 等。这些模块的设计体现了项目...

    Google Bookmark API(Google书签接口)

    在实际开发中,你可以使用各种编程语言(如Python、JavaScript、Java)来实现对Google书签API的调用。例如,Python的`requests`库可以轻松地发送HTTP请求,获取并处理API响应。 五、示例代码 以下是一个简单的...

Global site tag (gtag.js) - Google Analytics