首页 > 代码库 > 《疯狂Java讲义》读书笔记(一)

《疯狂Java讲义》读书笔记(一)

面向对象具有三个基本特征:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。

继承是面向对象实现软件复用的重要手段,当子类继承父类,子类作为一个特殊的父类,将获得父类所有的属性和方法;

封装是指将对象的实现细节隐藏起来,然后通过一些公用的方法来暴露该对象的功能;

多态是指子类对象可以直接赋给父类的引用,但运行时依然表现子类的行为特征,这意味着同一个类型的对象在运行时可能表现出不同的行为特征。


在java中,除了8个基本数据类型之外,一切都是对象。


空引用(null)只能被转换成引用类型,不能转换成基本类型,因此不要把一个null赋值给基本数据类型的变量。


因为java浮点数使用二进制数据的科学计数法来表示浮点数,因此可能不能精确的标识一个浮点数。如果需要精确的标识一个浮点数,可以考虑使用BigDecimal类。


所有数据在计算机底层都是都是以二进制形式存在的,原码就是直接将一个十进制数转换成二进制数。但计算机是以补码的形式保存所有的整数。补码的计算规则是:整数的原码和补码完全相同,负数的补码是其反码加1;反码是原码按位取反所得,最高位(符号位)不变。


使用switch语句时,应当注意两个问题:

1.switch语句后的表达式(expression)只能int、char、byte、short类型,原因是后三种都可以自动类型转换为int;

2.如果省略了case后面的break所带来的陷阱。


数组也是一种数据类型,它本身是一种引用类型。


当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会逐个放入这块栈内存中,随着方法执行的结束,这个方法的内存栈也将会被销毁;因此,所有在方法中定义的局部变量都是存储在栈内存中。



《疯狂Java讲义》读书笔记(一)