Java基本数据类型
- boolean
- char
- byte
- short
- int
- long
- float
- double
- void
tip:变量不可重复定义
Java关键字
- static
1.未创建某个类的任何对象,也可以调用其static方法或其static域
2.同一个类创建的不同对象共享同一个static变量
3.static域在类的内部初始化中优先 - final
1.对于基本类型,final使数值恒定不变
2.对于对象引用,一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象
3.允许生成“空白final”,必须在构造器中完成初始化
4.final方法禁止子类覆写,private方法隐含final
5.final类无法被继承,且域可选择是否为final
tip:同时使用static final的域只占据一段不能改变的存储空间
编码规范
- 驼峰命名法:
1.类名:单词首字母大写
2.方法:第一个字母小写,其余单词首字母大写 - 将public置于开头,再接protected、包访问控制和private
- 常量用大写字母命名,单词之间用下划线隔开
操作符
-
-
-
- / ( ) = == !=
-
-
- ==,equals()比较的是对象的引用
tip:equals默认比较对象引用,注意比较对象和比较属性的区别! - 与(&&) 或(||) 非(!)
- 按位与(&) 按位或(|) 按位非(~) 异或(^) 左移(<<) 右移(>>)
- boolean-exp ? value0 : value1 true为value0,false为value1
- 如果表达式以一个字符串为首,那么后续所有操作数都必须是字符串型
- 类型转换 x = (cast)y
- 计算比int小的类型之前,值会自动转换成int,最终结果也是int类型
构造器
- 可以用this调用一个构造器,且将构造器调用置于最起始处
- 除构造器外,编译器禁止在其他任何方法中调用构造器
- static方法是没有this的方法
垃圾回收技术
- 停止-复制
- 标记-清扫
tip:在程序暂停的情况下才能进行
初始化
- 在类的内部,变量定义的先后顺序决定了初始化的顺序,即使变量定义散布于方法定义之间,它们仍旧会在任何方法(包括构造器)被调用之前得到初始化
- 初始化的顺序是先是静态对象,而后是非静态对象
- 构造器实际也是静态方法
- 静态子句(静态块)仅执行一次
static { … } - 实例初始化子句在构造器之前执行
{…} - 可变参数列表:在可变参数列表中可以使用任何类型的参数
Object
访问权限控制
- package:可避免名称冲突
- public:所有人可访问此成员
- 包访问权限:即不使用任何访问权限修饰词,包内可访问
- private:除了包含该成员的类之外,其他任何类都无法访问这个成员
构造器使用private,该类无法创建对象
- protected:派生类可访问此成员,同时也提供包访问权限
注解
- @Override
重载未覆写方法时,编译器报错
多态
- 向上转型
- 后期绑定:程序在运行前虚拟机并不知道对象的类型,运行时根据对象的类型进行绑定
- 访问域和static方法不是多态的
抽象类
- abstract
- 新类继承抽象类,必须为基类中的所有抽象方法提供方法定义
- 类中含有抽象方法,该类必须被限定为抽象的