Java
文章平均质量分 77
fabowang
这个作者很懒,什么都没留下…
展开
-
Java 多态 后链接(late binding)与前链接(early binding) 向上转型(upcast)
使用过面向对象编程(OPP)的都知道,多态是OPP的一个主要特性之一。Java做为一种OPP语言,其也有多态特性。 那么什么是多态呢?多态指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)原创 2015-11-13 12:19:30 · 2781 阅读 · 1 评论 -
Java 虚拟调用(virtual invoke)分析
此文章来分析下,Java 的虚拟调用 When we say Java language has virtual method calling we mean that in java applications the executed method is determined by the object type in run time. Java的虚拟方法调用,指的是,调用的方法是由对象运原创 2015-11-13 09:21:46 · 1711 阅读 · 1 评论 -
Java私有构造函数的使用
本篇文章介绍下Java,私有构造函数的使用。Java私有构造函数的使用当我们学习Java的时候,我们接触到的构造函数的权限修饰符都是public,比如,public class Test { public Test() { } }}我们,知道构造函数的用途是创建一个对象,并返回。比如,Test instance = new Test();如果你很了解java的权限修饰符的话(原创 2015-11-26 21:02:03 · 15601 阅读 · 6 评论 -
Effective Java之改写equals时总要改写hashCode
改写equals时总要改写hashCodehashCode,就是哈希值,可以理解为一个对象的标识(好的hash,能确保不同的对象有不同的hash值),Object含有hashCode方法,用来返回对象的hash值。hashCode方法多用在基于散列值的集合类,比如HashMap、HashSet和Hashtable。下面是hashCode的约束规范, 在一个应用程序执行期间,如果一个对象的equa原创 2015-11-27 19:59:14 · 1522 阅读 · 0 评论 -
Effective Java之总是要改写toString
Effective Java之总是要改写toString原创 2015-12-07 21:07:04 · 674 阅读 · 0 评论 -
Effective Java笔记之改写equals的通用约定
改写equals的通用约定我们知道,在java的世界里,所有的类都是Object的派生类,其实Java设计Object的缘由就是为了扩展,它的所有非fina方法,包括equals、hashCode、toString和finalize都有明确的通用约定。任何一个改写这些方法的时候,都得遵守这些约定。改写equals方法看起来非常简单,但是许多改写的方式会导致错误,而且后果很严重。要避免问题最简单的方法原创 2015-11-27 11:29:30 · 620 阅读 · 0 评论 -
Java HashMap学习
做过Java或者Android开发的肯定使用过HashMap。最基本的就是HashMap维护了一个key, value表,可以实现数据的快速存储和读取。本篇文章就来揭开HashMap的面纱,从其源码来回答如下问题, 1. HashMap如何实现快速存储?其数据结构是什么? 2. HashMap的长度是固定的么? 3. HashMap的key是自定义对象时,有什么需要注意的?equal和hash原创 2016-05-16 09:21:18 · 521 阅读 · 0 评论