Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。
比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。下面是举例:
Java代码
public class A {
public...
分类:
编程语言 时间:
2015-02-13 18:41:16
阅读次数:
195
1. C++拷贝构造函数参数为const类型原因:因为复制构造函数是用引用方式传递复制对象,引用方式传递的是地址,因此在构造函数内对该引用的修改会影响源对象,防止源对象被修改,就要把参数类型设为const2.枚举类型使用枚举时,会遇到这个警告: warning C4482: nonstandard ...
分类:
编程语言 时间:
2015-02-09 19:51:58
阅读次数:
245
Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接 口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue 继承了Que...
分类:
编程语言 时间:
2015-02-09 18:29:39
阅读次数:
143
很多人会有疑问-同样是面向对象语言为什么object-c没有重载(overload) ,其实这是编译器决定的 ,举个栗子:同名的两个方法:run(int i );run(float j);由于参数类型不一样 所以重载 ,但是编译时候的名称是这样的!-->run_int;run_float;明白了吧,...
分类:
其他好文 时间:
2015-02-09 17:52:37
阅读次数:
114
定义参数个数不确定的函数,需用到头文件stdarg.h,该头文件是专门为变长参数函数所用。
参数变长函数的声明:void function(int intVal, ...),当然参数类型可以为double或其他,返回类型也可以自己修改。
方法:
先用头文件stdarg.h中的宏va_list定义一个指向参数的指针ap,va_list ap;
再用宏va_start初始化指针ap,va_st...
分类:
其他好文 时间:
2015-02-09 14:11:38
阅读次数:
165
1. 重写 PK 重载理解
1.1 函数重载
必须在同一个类中进行
子类无法重载父类的函数,父类同名函数将被名称覆盖
重载是在编译期间根据参数类型和个数决定函数调用
1.2 函数重写
必须发生于父类与子类之间
并且父类与子类中的函数必须有完全相同的原型
使用vi...
分类:
编程语言 时间:
2015-02-08 20:47:08
阅读次数:
320
这三个条款讨论了封装性和类型转换。讲解了怎么实现更高的封装性以及实现所有参数类型转换。...
分类:
编程语言 时间:
2015-02-07 23:03:55
阅读次数:
281
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。 1.命令格式: mv [选项] 源文件或目录 目标文件或目录 2.命令功能: 视 mv命令中第二个参数类型的不同(是目标文件还是目标目录),m...
分类:
系统相关 时间:
2015-02-07 06:47:37
阅读次数:
276
当传递到函数的参数的数据类型表示的范围小于函数形参的参数类型遵循如下原则 :char类型比较特殊, 直接转换为int: char ->int ->long->float->double其他的基本数据类型都遵循这个规则: byte->short->int->long->float->double如果是...
分类:
编程语言 时间:
2015-02-06 20:25:14
阅读次数:
195
重载、覆盖(重写) 重载是类的多态性的表现主要是方法重载,方法名称相同,参数类型、多少不同,返回值可以相同 覆盖(重写)是把父类的方法做一些修改,名称、参数、返回类型必须相同。可以是使用super引出父类...
分类:
编程语言 时间:
2015-02-06 19:08:06
阅读次数:
270