zoukankan      html  css  js  c++  java
  • java核心技术卷一笔记(2)

    ---恢复内容开始---

    异常、断言

    所有的异常都继承自Throwable类,异常包括已检查异常和未检查异常,应该抛出已检查异常,而未检查异常要么是不可控的(Error),要么是应该避免发生的(RuntimeError)。p475

    对于子类中覆盖了父类方法的方法,其抛出的异常不能比父类中方法抛出的异常更特定,也可以直接不抛出异常。特别的,如果父类中的方法没有抛出异常,那么子类覆盖的方法不能抛出异常。p476

    通常应该捕获那些知道应该如何处理的异常,而对于那些不知道该怎么处理的异常将继续进行传递。p480

    泛型

    在泛型类的设计中,如果要求类型参数一定要实现某个类,则可以对其进行限制,如:T extends Cloneable。p532

    如果有多个限定,可以在类(接口)中间用&分隔,且只能有一个类限定而且类要作为第一个限定条件。为了效率,应该将功能最少的接口放在最后面。p533

    泛型类在编译为原型类的时候,如果类型参数没有限定则用Object代替,如果有现定则用限定类型替换。p535

    桥方法用于解决泛型类擦除类型参数后引起的多态冲突问题。p536

    不能创建泛型类型的数组,比如有一个Pair<String>类,不能创建Pair<String>[]数组,但是可以声明变量。不能创建的原因在于在擦除类型变量之后该类型变为Pair[],它可以放置比如Pair<Double>元素。p539

    一个类或类型变量不能同时成为两个接口类型的子类,而这两个接口是同一接口的不同参数化。p545

    由于通配符不能用于匹配类型,所以带有超类限定的通配符可以保证更改器的完全合法性,可以向泛型对象写入;带有子类限定的通配符可以保证访问器的合法性,可以从泛型类读入对象。p550

    ---恢复内容结束---


    Shopee(虾皮)内推点击此处,岗位多多地,薪资高高地



    转载请注明出处


  • 相关阅读:
    SQL Server 2019 新版本
    SQL Server 中的窗口函数(2012 新函数)
    MySQL 学习(二)总体框架 & redo-log 和 bin-log 的介绍
    redis(四)集群(Sentinel)
    HahMap相关问题
    JVM工具使用和Linux-top命令解析
    缓存知识点
    消息队列(六)--- RocketMQ-消息消费
    redis(三)数据类型--位图相关
    分布式哈希一致性
  • 原文地址:https://www.cnblogs.com/zhangcaiwang/p/6250178.html
Copyright © 2011-2022 走看看