闭关Java第六天JavaSE完结

发布时间 2023-03-29 13:49:16作者: 寇
  1. 父类引用指向子类对象
  2. 把子类转换成父类,向上转型
  3. 把父类转换成子类,向下转型,需要强转
  4. 强制转换会丢失精度(子类转为父类可能会丢失方法)
  5. 方便方法的调用,减少重复的代码!简洁

static关键字详解

静态属性

静态的变量可以在类中被任意共享

静态方法

非静态方法可以直接访问静态方法

静态代码块

是最先执行的,但只执行一次,不可以调用

静态代码块最先执行-->匿名代码块--->构造方法最后执行

匿名代码块的作用:初始化值

静态导入包

image-20230329095834139

可以直接使用Java中方法

抽象类

特点:

  1. 不能new这个抽象类,只能靠他的子类实现:约束!

  2. 抽象类中可以有普通方法

  3. 抽象方法必须在抽象类中

    抽象的抽象:约束

接口

  • 普通类:只有具体的实现
  • 抽象类:具体的实现以及规范 不能new,需要子类来实现
  • 接口:只有规范!自己无法写方法~专业的约束 约束和现实分离:面向接口编程~

接口的本质就是契约,像是法律一样,制定好大家要遵守

接口的作用

  1. 约束
  2. 定义一些方法,让不同的人实现
  3. 接口默认的方法都是 public static
  4. 接口不能被实例化
  5. 接口可以实现多个接口
  6. 必须重写接口的方法

内部类

  1. 可以获得外部类的私有属性
  2. 需要先new外部类,再用外部类来实例化
  3. 一个java类中可以有多个class,但是只能有一个public class

异常机制

什么是异常

就是在运行过程中出现的意外,遇到的一些异常问题(Exception)

如:文件找不到、网络连接失败、非法参数

异常体系结构

java把异常当作对象来处理,并定义了一个基类java.lang.Throwable作为所有异常的超类

在Java API中已经定义了许多异常类,这些异常类分为两大类:Error和Exception

Error和Excepton的区别:

Error通常是灾难性的致命错误,而Exception通常是可以被程序处理的,并且在程序中尽可能的去处理这些异常

异常处理机制

  • 抛出异常
  • 捕获异常
  • 异常处理的五个关键字

try,catch,finally,throw,throws

假设要捕获多个异常,要从小到大排序

自定义异常

  • 使用Java内置的类中可以描述在编程时出现的大部分异常情况,除此之外,用户还可以自定义异常,用户自定义异常只需要继承Exception类即可

  • 在程序中使用自定义类,大体可以分为以下几种:

    • 创建自定义异常类
    • 在方法中通过throw关键字抛出异常对象
    • 如果在当前抛出异常的方法中处理异常,可以用try-catch捕获并处理,否则在方法中声明出通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作
    • 在出现异常方法的调用者中捕获并处理异常