继承
- 覆盖方法:子类重写父类的方法
- super关键字:1:调用超类方法 2:调用超类构造器
多态
- is-a规则的另一种表述是替换规则,它指出程序中出现超类对象的任何地方都可以使用子类对象替换(例如:可以将子类对象赋给超类变量
- Manager boss = new Manage() Employee [] staff = new Employee[3] staff[0] = boss 变量将staff[0]和boss引用同一个对象,但编译器只将staff[0]看成Employee对象 意味着可以 booss.setBonus(5000)但不能staff[0].setBouns(5000)
- 不能将超类的引用赋给子类变量
- 强制类型转换:要在暂时忽略对象的实际类型之后使用对象的全部功能
- 将一个值存入变量中,编译器将检查你是否承诺过多。如将一个子类的引用赋给一个超类变量,编译器是允许的。但将一个超类变量的引用赋给子类变量时,就承诺过多了。必须进行强制类型转换,这样才能通过运行时的检查
- 用 instanceof检查是否能够成功转换 a instanceof b a是否时b的子类或实例
- 抽象类
- 包含一个或多个抽象方法的类必须被声明为抽象的
- 除抽象方法外,抽象类还可以包含具体字段和方法
- 抽象方法充当着占位方法的角色,他们在子类中具体实现
- 抽象类不能实例化,但能创建一个具体子类的对象
java.util.ArrayList boolean add(E obj) int size() void ensureCapacity(int capacity) void trimToSize()// 将数组列表的存储容量削减到当前大小 E set(int index, E obj) E get(int index) void add(int index, E obj) E remove(int index)
- 比较包装器对象采用equals 方法
//枚举类 比较值时可以直接使用 == //枚举类构造器是私有的 java.lang.Enum static Enum valueOf(Classs enumClass, String name) //返回类中指定名字的枚举常量 String toString()返回枚举常量名 int ordial()返回枚举常量在enum声明的位置,从0计数 int compareTo(E other)
枚举类名.values()返回全部枚举值的数组
java.lang.Integer int intValue() static String toString(int i) static int parseInt(String s, int radix) //radix进制转为10进制 static Integer valueOf(String s, int radix) //radix进制转为10进制

浙公网安备 33010602011771号