2021-07-22java编程组队学习202107task5

抽象类与接口

抽象类

抽象类是所有子类属性的集合。
抽象类不能实例化对象。只有被继承了以后才能被使用。
定义

  • 抽象类:Modifies abstract class name{}
  • 抽象方法:abstract void method();

只有抽象类才可以包含抽象方法,
class B extends abstract-class A,则classB必须重写classA的抽象方法,或声明自己是abstract class。

继承抽象类和调用

抽象类继承的关键字是extends
实例1
需要注意,当我把class A classB class main都放入test内部时,需要把抽象类变为静态。内部调用的抽象类必须是静态的。
在内部类里面,就相当于成员,而抽象类得加静态才能调用。实际调用应该要用个B去继承,才能调用到A里面的动作方法。
外部类的调用和内部类调用有些区别,不过都是要类的对象去调用自己的外部类或者内部类。外部类和内部类都叫嵌套类。

接口

interface,是抽象方法的集合。是比抽象类更抽象的存在。

  • 抽象类是类的抽象
  • 接口是行为的抽象

接口中所有属性(特征)默认:public static final
接口中所有方法默认:public abstract
接口继承的关键字是implements
interface
dog
person
主方法
在这里插入图片描述
运行结果
在这里插入图片描述

注意,在刚开始的时候报错:

在这里插入图片描述
根据给出的提示修改了project structure—project settings—modules—Sources—language level,改成了8(因为我的jdk是1.8)

保证language level和sdk (project structure—project settings—modules—dependencies)是同样版本

但是发现还报错编译有问题:
在这里插入图片描述
结果发现是setting里还有一个Java compiler版本要改:
settings—build,execution,deployment—compiler—Java compiler—per module bytecode version—target bytecode version改为8(因为我的jdk是1.8).

异常处理

异常处理的根接口是Throwable,分为:

  1. Error:环境发生的错误。开发人员无法处理。
  2. Exception:程序运行中产生的异常
    2.1.Runtime异常
    - 数组下标越界异常(IndexOutOfBoundsException)、
    - 空指针异常(NullPointerException)、
    - 对象类型强制转换异常(ClassCastException)
    - 数组存储异常(ArrayStoreException,即数组存储类型不一致)
    2.2.非Runtime异常 :也叫检查异常,即编译器要求必须进行处理的异常
    - IOException
    - SqlException

Java异常机制用到的几个关键字:
try、catch、finally、throw、throws。

猜你喜欢

转载自blog.csdn.net/weixin_46870583/article/details/118991403