![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日笔记
huahua168168357
这个作者很懒,什么都没留下…
展开
-
java的多态性
学了还蛮久的java,一直知道其具备面向对象的三个基本特征:继承、封装和多态。但是一直没怎么明白多态性。今天看了书,大概总结一下(感觉不是很全面)。java中多态性分为动态多态性和静态多态性。静态多态性就是指方法的重载,是一个类的行为。动态多态性是指方法的重写,即多态是指在有继承关系的两个或两个以上的类的行为。下面是一个重写的小Demopublic class DynamicTest { st原创 2016-04-25 21:54:17 · 298 阅读 · 0 评论 -
java类的初始化
类似”int x=123”与”static int x=123”这样的变量的定义在java中是非常常见的,但是虚拟机对这两种变量的复制的方式和时刻都是有所不同的对于非static类型的变量(也就是实例变量)的赋值是在实例构造器中< init >中进行的;而对于类变量(即static类型的变量),有两种方式可以选择:在类构造器< clinit >方法或者使用ConstantValue属性。目前Sun原创 2016-04-28 20:42:08 · 294 阅读 · 0 评论 -
接口与工厂(设计模式)
接口是实现多重继承的途径,而生成遵循某个接口对象的经典方式就是工厂方法设计模式。这种方式与直接调用构造函数的不同,我们在工厂对象调用的是创建方法,该工厂的方法将生成接口的某个实现类的对象。理论上,通过这种方式,我们的代码将完全与接口的实现分离,这就使得我们可以透明地将某个实现替换为另一个实现。下面我们来看看代码public interface Service { void method1()原创 2016-07-08 16:40:04 · 437 阅读 · 0 评论 -
Integer.valueOf(int i)与自动拆箱与装箱
查了一下Api,valueOf(int i),返回的是i值的Integer对象,Integer.valueOf()基于减少对象的创建次数和节省内存的考虑,[-128,127]之间的数字会被缓存,当valueOf()方法传入的参数在这个范围之内,将直接返回缓存中的对象。我们来看一下一个例子public static void main(String[] args) { Integer原创 2016-04-28 18:07:17 · 1053 阅读 · 0 评论 -
for-each循环优先于传统的for循环
对于遍历数组或者集合的元素来说,一般我们都会想到用传统的for循环,要么使用数组下标进行索引,要么使用集合的迭代器进行遍历,迭代器和索引变量在每个循环中出现三次,其中有两次是非常容易出现错误的,一旦出现错误,有可能编译器不能发现错误。在java1.5中发行版本中引入的for-each循环,其中隐藏了迭代器或者索引变量,避免混乱和出错的可能。看看下面的例子就很容出现错误://花色public enu原创 2016-09-30 22:11:34 · 1726 阅读 · 0 评论 -
Hashtable与HashMap的区别
先说说Hashtable,我们看到java api文档中介绍,其实现了java.util.Dictonary< K ,V >类如文档中介绍,Any non-null object can be used as a key or as a value,即不能将空对象放入Hashtable中Unlike the new collection implementations, Hashtable is s原创 2016-10-01 15:57:59 · 437 阅读 · 0 评论