摘要: 首先,重写和隐藏是发生在两个类中的,而重载可以发生在一个类中。重写的概念就是顾名思义了:重新写一遍;方法名、参数及返回值是一模一样的,可能实现的过程不一样,为什么要重写?因为原来的方法不够perfect 或者不够strong,或者达不到开发者的实际应用要求。重载是当多个方法享有相同的名字,但是这些方法的参数不同,或者是参数的个数不同,或者是参数类型不同时。就叫方法的重载要注意的是:返回类型不能用来... 阅读全文
posted @ 2010-10-02 09:32 春哥也编程 阅读(289) 评论(0) 推荐(0)
摘要: 重载 overloadingjava的重载是指在一个类中同一个函数以多种不同的形态出现,即函数的参数个数或者类型不一样。例子 System.out.println(); 下面简称SOPSOP(String str)SOP(int number)SOP(char ch)SOP(double num).................................这就是重载的效果覆盖(重写) ove... 阅读全文
posted @ 2010-10-02 09:31 春哥也编程 阅读(1030) 评论(0) 推荐(0)
摘要: 继承是子类获得父类的成员,重写是继承后重新实现父类的方法。重载是在一个类里一系列参数不同名字相同的方法。多态则是为了避免在父类里大量重载引起代码臃肿且难于维护。网上看到一个有趣的说法是:继承是子类使用父类的方法,而多态则是父类使用子类的方法。下面的例子包含了这四种实现:class Triangle extends Shape {public int getSides() { return 3;}... 阅读全文
posted @ 2010-10-02 09:26 春哥也编程 阅读(599) 评论(0) 推荐(0)
摘要: 做分词组件时,有网友提出采用Hashtable 数据结构查找字符串效率较低,建议改为Dictionary,其理由是采用Hashtable 时Key值是object 会触发装箱和拆箱动作,一直对这种说法表示怀疑,因为我理解只有值类型和引用类型通过object 互转时才会发生装箱和查询,引用类型之间强制转换不应发生装箱和拆箱,而Dictionary 泛型实际上底层还是调用的Hashtable,所以效率... 阅读全文
posted @ 2010-10-02 09:19 春哥也编程 阅读(832) 评论(0) 推荐(0)
摘要: 做分词组件时,有网友提出采用Hashtable 数据结构查找字符串效率较低,建议改为Dictionary,其理由是采用Hashtable 时Key值是object 会触发装箱和拆箱动作,一直对这种说法表示怀疑,因为我理解只有值类型和引用类型通过object 互转时才会发生装箱和查询,引用类型之间强制转换不应发生装箱和拆箱,而Dictionary 泛型实际上底层还是调用的Hashtable,所以效率... 阅读全文
posted @ 2010-10-02 09:19 春哥也编程 阅读(949) 评论(0) 推荐(0)
摘要: 由于 Hashtable 和 Dictionary 同时存在, 在使用场景上必然存在选择性, 并不任何时刻都能相互替代.[1] 单线程程序中推荐使用 Dictionary, 有泛型优势, 且读取速度较快, 容量利用更充分.[2] 多线程程序中推荐使用 Hashtable, 默认的 Hashtable 允许单线程写入, 多线程读取, 对 Hashtable 进一步调用 Synchronized() 方法可以获得完全线程安全的类型. 而 Dictionary 非线程安全, 必须人为使用 lock 语句进行保护, 效率大减.[3] Dictionary 有按插入顺序排列数据的特性 (注: 但当调用 阅读全文
posted @ 2010-10-02 09:17 春哥也编程 阅读(20948) 评论(2) 推荐(1)
摘要: Array和List都属于顺序表。 Array是一段连续的存储结构int[] i=new int[3]i其实记录的是数组的首地址,而i[1]其实相当于在i的地址的基础上加上1个整数的地址偏移,然后再取这块地址中的值。 List则是不连续的存储结构,List的每个节点都有着一个Next属性,这个属性则记录着他的下一个节点的地址。 也就是说当我们想找第100个节点的时候,他还是需要从第一个节点,然后做99次Next操作,才能找到list[99]节点。在查找一个元素时时分别生成以下IL码Array: IL_0020: ldloc.0 IL_0021: ldc.i4.3 IL_0022: ldelem 阅读全文
posted @ 2010-10-02 09:08 春哥也编程 阅读(14353) 评论(0) 推荐(0)
摘要: 一,C# array数组的用法范例:type[] typename=new type[size]; 如int[] a=new int[2];string[] str=new string[5];实事上我们平常是用int[],string[]...的,此时我们已经创建一个Array数组,只不过我们平常没有这种意识而已.(1):type数据类型不能缺;且要统一,而不能是如 int[] a=new Ar... 阅读全文
posted @ 2010-10-02 08:58 春哥也编程 阅读(1411) 评论(0) 推荐(0)