java编程思想札记一

1. 访问权限中尤其注意protected,它包含了包访问权限,只要是同一个包里的,就能访问到protected成员。
 
2. 后期绑定:被调用代码直到执行时才能确定,编译阶段只保证调用方法存在和类型(参数和返回值)检查无误。这一特性是为了多态准备的。java中是默认行为。c++中需要virtual关键词才可以。
 
3. java中不采用多继承,所有都继承自Object类,也是考虑到垃圾回收器实现能更简单,处理异常也能更简单。(这里不是很懂,重点是单继承)
 
4. java中加入泛型之后,对于容器的存储对象就可以在编译阶段进行类型检查,避免了向下转型可能的运行时异常。
 
5. 基本类型中char比较特殊,它占两个字节,无符号,取值范围是0~2^16-1。
 
6. java会对类的成员变量初始化一个默认值,如果它是基础类型的话。但是方法中的局部变量则不会,必须程序来指定。
 
7. 方法重载判断的是参数的个数,类型和顺序。
 
8. static关键字:对于成员变量而言,static能保证只有单一存储空间;而对于成员方法而言,static能保证即使没有对象也能调用方法。相同点是都不与任何实例对象相关联,只与类相关联。
 
9. PrintStream打印输出流,继承自FilterOutputStream,用来装饰其它流,提供数据值表示形式。它不会抛出IOException,内部错误标记了,用checkError可以查看。有自动flush功能。
 
10. javadoc只能为public和protected成员进行文档注释,除非用-private标记
 
11. 逻辑运算符&&和||都有短路现象。
 
12. 对于整数默认是int,而对于小数默认是double,如果要用float,需要单独标识F,long同样得用L。
 
13. java中的2e3这种科学技术法标识中的e也是代表10的幂次。
 
14. 按位异或标识是^。按位与&、按位或|都没有短路现象。按位非标识是~。
 
15. 左移操作符<<低位补0,右移操作符>>高位补符号位。无符号右移>>>高位补0。
 
16. 常用数字的二进制标识
 
-2147483648
100000000000000000000000
-1
11111111111111111111111111111111
0
000000000000000000000000
2147483647
01111111111111111111111111111111
 
17. 计算机采用(Two's Complement)二的补码表示负数,意思是分两步完成数值转换,第一步是所有位取反,第二步是对数值加1。之所以采用这种方式,是能保证正负数相加可以采用同一种电路来运行。
 
 
 
 

原文地址:https://www.cnblogs.com/bityinjd/p/8426478.html