Java核心技术卷I-第五章

类、超类和子类

  • 定义子类(使用关键字extends表示继承)

  • 覆盖方法

  • 子类构造器

  • 一个对象变量可以指向多种实际类型的现象称为多态,在运行时能够自动地选择适当的方法,称为动态绑定

  • 继承层次

  • 多态

  • 理解方法调用(非private方法、static方法、final方法时,采用动态绑定,考虑重载解析。生成变量类型和引用类型的方法表。运行时:1、获取实际类型的方法表。2、查找定义了签名所在的类。3、调用)

  • 覆盖一个方法时,子类方法的可见性不能低于超类方法

  • 阻止继承:final类和方法

  • 强制类型转换和instanceof运算符(尽量少用)

  • 1、只能在继承层次内进行强制类型转换。2、在将超类强制转换成子类之前,应该使用instanceof进行检查

  • 抽象类(abstract关键字):有一个或多个抽象方法的类,必须标注为抽象类。可以有字段和具体方法。

  • 扩展抽象类,1、如果仍有未定义的抽象类的抽象方法,则子类也必须标记为抽象类。2、全部方法都定义,这样子类就不用标记为抽象了。

  • 不含抽象方法,也可以声明抽象类。抽象类不能实例化

  • 受保护访问(protected)

Object:所有类的超类

  • Object类型的变量

  • equals方法

  • 相等测试与继承

  • toString方法

泛型数组列表(ArrayList)

  • new:声明数组列表

  • add:添加元素

  • ensureCapacity:分配额定大小的内部数组

  • new对象时,括号里也可以传初始化容量

  • 分配数组列表和分配新数组的区别:前者只是可能有这么多个,具体的看实际添加的。后者是

  • size:实际元素个数

  • trimToSize:调整存储块大小(一旦调整,再添加,则需要花时间移动存储块)

  • 访问数组列表元素(get,set)

  • remove()

  • 插入和删除的操作效率很低,对于较小数组列表可以忽略。如果元素较多,插入和删除操作又比较频繁,就应该考虑使用链表。

  • for each

  • 类型化与原始数组列表的兼容性

  • 对象包装器与自动装箱(装箱和拆箱是编译器要做的工作,而不是虚拟机)

  • 参数数量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值