java提供final关键字 修饰变量 方法 和类,系统不允许为final变量重新赋值,子类不允许覆盖父类的final方法,final类不能派生子类。
Abstract 和 interface 分别用于定义 抽象类和接口
装箱 值类型到引用类型
拆箱 引用类型到值类型
字符串到基本数据类型的转化: 数据类型的包装类提供的 parseXXX(String s) 方法可以实现 (Character不提供此方法)
String intStr = "123";
int it1 = Integer.parseInt(intStr);
数据类型到 String 类型 String.valueof(数据类型变量)
重写 ToString 方法
== 和 equals 方法
== 比较值类型是, 如果两个变量值相等则 == 为true, 如果比较两个引用类型时,必须指向同一个地址 == 才为true,== 不能比较类型上没有父子关系的两个对象
单利模式
final关键字,类似于C#的 sealed (修饰的方法 类 变量 不可改变)
抽象类 抽象方法:(abstract),有抽象方法的类必须定义成抽象类
抽象方法:只提供方法名,不实现
规则:
。 抽象类 和 抽象方法 都必须 有关键字 abstract, 抽象方法不能有实现体
。 抽象类不能被实例化
。 抽象类里面可以包含:成员变量,方法(抽象或不抽象都可), 构造器(不能被实例化,用于子类的调用), 初始化块, 内部类
。 含有抽象方法的类只能定义成抽象类
Abstract 不会 定义成 private, 不会是 final, 方法也不会是 static
抽象类体现的是 模板模式的设计,避免子类的随意性
接口:interface (类继承接口,用关键字 implements)
接口和抽象类:
- 二者都不能被实例化, 都位于继承树的顶端, 用于被其他类实现和继承
- 都可以包含抽象方法,继承的子类都不必须要实现这些抽象方法
一个类只能继承一个抽象类,可以继承多个接口
接口里不能有构造函数, 抽象类可以有
接口里只能用静态成员常量,抽象类可以有普通变量
接口里不能有初始化块,抽象类可以有