IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java基础之接口、异常|CSDN创作打卡 -> 正文阅读

[Java知识库]java基础之接口、异常|CSDN创作打卡

前言

本章主要是对异常以及接口基础知识的讲解,喜欢的朋友请点个赞支持一下,谢谢各位大佬。

一、接口

1、Java接口的定义

接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。

2、接口定义格式

[public] interface interface_name [extends interface1_name[, interface2_name,…]] {
定义常量
声明方法
}

代码如下(示例):

public interface inte {
    public static int a=10;
    public void run();
}

3、接口的特性

1、接口不能实例化 不能new
2、接口中所有的方法默认都是public abstract的
3、接口中所有的属性都是public static final的
4、一个类实现接口,必须重写所有方法,除非这个类是抽象类

4、接口和类的区别

1、接口不能用于实例化对象、不能new,但是类可以实例化
2、接口没有构造方法,类存在构造方法
3、接口中所有的方法必须是抽象方法,Java 8 之后 接口中可以使用 default 关键字修饰的非抽象方法。
4、接口的属性都是public static final的,不能包含成员变量。
5、接口是实现(implements),类似继承(extends)。
6、接口支持多继承。

5、抽象类和接口的区别

1、抽象类中的方法可以有方法体,但是接口中的方法没有方法体。
2、抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的(就是常量)。
3、 接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
4、抽象类是一个类只能继承一个抽象类,但是一个类却可以实现多个接口。

二、异常 Exception

1、什么是异常

异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序
异常是一种特殊的对象,类型为java.lang.Exception或其子类
Throwable 类的层次
在这里插入图片描述

2、三种类型的异常

1、检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。(调用都必须处理:Exception, ClassNotFoundException, SQLException , IOException…)
2、运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。(可处理也可不处理:ArithmeticException, InputMismatchException ,Nullpoint ,ArrayIndexOut…)
3、错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。

3、Java的异常处理的5个关键字

1、try:{ 尝试运行的代码}
2、catch:catch(异常类型 对象) {} 捕获对应的异常;catch可以多次捕获
多重catch 一般按出现异常的顺序捕获 必须是先子类后父类
3、 finally:finally{} 无论如何都执行的代码 ;不执行的唯一情况 System.exit(int)
4、throw:throw是语句抛出一个异常。语法:throw (异常对象);
5、throws:声明方法可能要抛出的各种异常.语法: public run() throw 异常类型{};
1、try catch finally :三者都不能单独出现 ,最少出现2个,且必须有一个是try
2、如果有return 和finally 一起用,一定是先finally执行完后再return

public class test {
    public static void main(String args[]) {
        try {
            int a = 1 / 0;
        } catch (Exception e) {
            System.out.println("Exception thrown  :" + e);
        } finally {
            System.out.println("我会运行");
        }
    }
}

在这里插入图片描述
使用throws声明在该方法中可能产生的异常,但是在调用时需要使用 catch 语句捕获产生的异常

public class test {
    public static int  run() throws NullPointerException{
        int a = 1/0;
       return a;
    }
    public static void main(String args[]) {
       try {
           int b=run();
       }catch (Exception e){
           System.out.println(e);
       }
    }
}

在这里插入图片描述

4、创建异常

自定义异常类一般包含两个构造方法:一个是无参的默认构造方法,另一个构造方法以字符串的形式接收一个定制的异常消息,并将该消息传递给超类的构造方法。

public class TestException {
    public  static void main(String agrs[]){
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入年龄");
        try {
            int age=scanner.nextInt();
        if (age>200){
                throw new MyFirstException("您活的太久了");
        }else if(age<0){
            throw new MyFirstException("您还未出生");
        }else{
            System.out.print("您的年龄为"+age);
        }
        }catch (MyFirstException e2){
            System.out.print(e2);
        } catch (Exception e) {
           System.out.print("请输入正确的年龄");
        }
    }
}

在这里插入图片描述

四、总结

刚开始写,如果有什么不足的地方希望各位可以指点一下,如果可以希望大佬们可以帮忙点个赞,求赞…

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-25 10:26:52  更:2022-01-25 10:29:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:25:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码