-
不要使用浮点数进行比较,会有误差。详细解释见 http://c.biancheng.net/view/314.html IEEE 754标准
-
字符本质还是数字。unicode每个字符都有对应的序号。
-
局部变量必须要初始化(initialization)。实例变量会在调用默认构造函数时赋默认值。默认值按照基本数据类型和包装类划分有所不同。包装类统一赋值为null,基本类型各有不同,其中:
实例变量基本数据类型默认值 数据类型 默认值 byte short int long 0 char '' float double 0.0 boolean false -
命名规范
类成员变量 首字母小写,驼峰 局部变量
首字母小写,驼峰 方法名
首字母小写,驼峰 类名
首字母大写,驼峰(类名大写) 常量
大写字母,下划线 - 短路运算 a&&b 若a为false,则b不执行判断。
- 比较
- 对于基本类型来说,==时进行数值的比较;
- 对于引用类型来说,==时进行地址的比较。
-
方法重载 同类同名不同参(形参个数、类型、排列顺序) 返回值类型不做要求
-
构造方法
- 默认构造方法(无参)
- 一旦定义有参构造,无参构造必须显式定义(else 报错)
- new 本质 调用构造方法
- 封装
- 高内聚(内部数据操作细节自己完成,不允许外部干涉) 低耦合(仅暴露少量的方法给外部使用)
- 数据隐藏 通常 禁止访问一个对象中数据的实际表示,通过操作接口来访问。
- 属性私有 get/set
- 继承
- Java只有单继承
- super ()默认调用父类的无参构造方法
- 重写 继承关系 子类重写父类的方法
- 适用于非静态方法
- 方法名、参数列表必须相同
- 子类要重写的方法,方法的权限修饰符不能比父类更低(public >protected >、default >private )
- 多态
- 方法的多态 属性没有多态
- 存在条件:继承关系,方法重写,父类引用指向子类对象
- 向上转型和向下转型 总结
- 父类引用指向子类对象,而子类引用不能指向父类对象。
- 把子类对象直接赋给父类引用叫upcasting向上转型,向上转型不用强制转换吗,如:Father f1 = new Son();
- 把指向子类对象的父类引用赋给子类引用叫向下转型(downcasting),要强制转换,如:f1 就是一个指向子类对象的父类引用。把f1赋给子类引用 s1 即 Son s1 = (Son)f1;其中 f1 前面的(Son)必须加上,进行强制转换。
- static
- 执行顺序:静态代码块(类加载时,只执行一次)>匿名代码块(每次创建对象时都执行)>构造方法(每次创建对象时都执行)
- 静态导入包 import static
相关文章: