1. 动态绑定的概念 指程执行期间(而不是在编译期间)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法 . 例如:package org.demo.clone.demo;public class DynamicBound { public static void main(Stri...
分类:
编程语言 时间:
2014-06-25 23:13:22
阅读次数:
293
最近在看程序员面试宝典,看到const这块感觉有很大疑惑,查了很多资料,可以总结如下:1.在C语言中 在C语言中,const修饰的变量不具有常量的特性,只是一个不可修改的变量,实质上仍然是变量,在编译期间无法知道它的值,不可以用作数组下标。2.在C++中 在C++中,const就有很大不一样,C.....
分类:
编程语言 时间:
2014-06-21 09:19:32
阅读次数:
334
AOP 各种的实现
AOP就是面向切面编程,我们可以从几个层来实现AOP
编译期---------字节码加载前---------字节码加载后
在编译器修改源代码,在运行期字节码加载前修改字节码或字节码加载后动态创建代理类的字节码,以下是各种实现机制的比较。
类别
机制
原理
优点
缺点
静态AOP
...
分类:
编程语言 时间:
2014-06-20 10:56:25
阅读次数:
170
数组是一种复合类型,由类型名+数组名+维度组成。数组定义中的类型可以是C++基本内置类型,也可以是类类型的。数组元素的类型可以是除了引用类型以外的其他任何类型,没有所有的元素都是引用的数组。
数组的维度必须是大于或等于1的编译器常量,所谓的编译器常量就是指在编译期间就可算出结果的表达式,字面值常量,枚举类型,用常量表达式初始化的const对象。任何在编译器无法计算出的值都不可作为数...
分类:
编程语言 时间:
2014-06-20 10:27:20
阅读次数:
268
转自:http://www.ibm.com/developerworks/cn/web/1207_wangqf_jsthis/在 Java 等面向对象的语言中,this 关键字的含义是明确且具体的,即指代当前对象。一般在编译期确定下来,或称为编译期绑定。而在 JavaScript 中,this 是动...
分类:
编程语言 时间:
2014-06-18 21:48:22
阅读次数:
230
为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。需要理解四个名词:1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改...
分类:
编程语言 时间:
2014-06-15 11:47:11
阅读次数:
206
转自:http://www.ibm.com/developerworks/cn/web/1207_wangqf_jsthis/在 Java 等面向对象的语言中,this 关键字的含义是明确且具体的,即指代当前对象。一般在编译期确定下来,或称为编译期绑定。而在 JavaScript 中,this 是动...
分类:
编程语言 时间:
2014-06-14 22:07:46
阅读次数:
308
《Java与模式》读书笔记。 里氏代换原则 里氏代换原则(LSP)简言之就是基类的属性方法一定是适应于子类的,反之则不然。 在编译期,Java编译器就会检查程序是否是符合里氏代换原则,不符合就不能通过。违反里氏代换原则的一个例子就是子类试图将基类中的public方法覆盖为private方...
分类:
其他好文 时间:
2014-06-14 13:48:59
阅读次数:
250
我们都知道,const和static
readonly的确非常像:通过类名而不是对象名进行訪问,在程序中仅仅读等等。在多数情况下能够混用。二者本质的差别在于,const的值是在编译期间确定的,因此仅仅能在声明时通过常量表达式指定其值。而static
readonly是在执行时计算出其值的,所以还能够...
分类:
其他好文 时间:
2014-06-11 12:03:51
阅读次数:
279