首页 > 编程语言 >Java基础复习——接口

Java基础复习——接口

时间:2023-07-01 10:13:28浏览次数:51  
标签:Java 复习 实现 接口 默认 interface 方法 public

接口(interface)

什么是接口?

  • 接口主要用来描述类具有什么功能,而并不给出每个功能的具体实现。

  • 接口不是类,是对类的一组需求描述,这些类就是遵从接口描述的统一格式进行定义。

定义接口

定义接口的关键字:interface

接口与类的关系:实现关系(implements

继承是“is a”的关系,而接口是“like a”的关系,例如空调继承于制冷机,但它同时有加热功能,那么应该把让空调继承制冷机类,并实现加热接口。

基本语法:

// 定义接口
interface 接口名 {
    属性;
    方法;
}

接口的实现

为了让类实现一个接口,通常需要一下两步:

  1. 将类声明为实现给定的接口
  2. 实现接口中的方法
class 类名 implements 接口名 {
    属性;
    方法;
    必须实现接口的抽象方法
}

细节:

  1. 接口不能被实例化
  2. 接口中的所有方法是 public 方法,接口中的抽象方法,可以不用 abstract 修饰
  3. 一个普通类实现接口,就必须将该接口中的所有方法都实现
  4. 抽象类实现接口,可以不用实现接口的方法
  5. 一个类可以同时实现多个接口 (Java对单继承的补充)
  6. 接口中的属性,只能是 final 的,而且默认是 public static final 修饰的。
  7. 接口中的属性的访问形式:接口名.属性
  8. 一个接口不能继承其他的类,但可以继承一个或多个别的接口
  9. 接口的修饰符,只能是 public 和 默认,这点和类的修饰符一样
interface 

注意:

  • 在 jdk 8 之前,接口中只能声明全局常量(public static final)、抽象方法(public abstract)

  • 在 jdk 8 中,接口中可以有静态方法,默认方法(default)

  • 在 jdk 9 中,接口中可以有私有方法。

interface IA {
    int n = 10;	// 成员变量默认是:public static final类型
    void m1();	// 默认是 abstract方法
    default void ok() {	// 默认实现方法,需要使用 default 关键字实现
        System.out.println("OK");
    }
}

标签:Java,复习,实现,接口,默认,interface,方法,public
From: https://www.cnblogs.com/ai135/p/17518886.html

相关文章

  • Java基础复习——枚举类
    枚举类假设要创建一个季节(Season)对象classSeason{privateStringname;privateStringdesc;//描述 //构造器//get//...}思考?季节只有四个,是固定的四个对象创建的Season对象有如下特点季节是有限的四个值只读,不需要修改代码实现如下:public......
  • Java基础复习——内部类
    内部类什么是内部类?一个类中又完整的嵌套了另一个类结构。被嵌套的类称为内部类(innerclass),嵌套其他类的类称为外部类(outerclass)。内部类的最大特点:可以直接访问私有属性,并且可以体现类与类之间的包含关系。为什么使用内部类内部类方法可以访问该类定义所在的作用域中的......
  • Java基础复习——注解
    注解(Annotation)什么是注解?插入到源码中用于某种工具处理的标签。注解(Annotation)也被称为元数据(Metadata),用于修饰解释包、类、方法、属性、构造器、局部变量等数据信息。在Java中,注解是当作一个修饰符来使用的,它被置于备注解项之前,中间没有分号每一个注解的名称前面......
  • Java基础语法
    Java语法快速入门1.1程序的入口#java程序入口为类中的static的viod的main函数,参数固定为字符串数组publicstaticvoidmain(String[]args){System.out.println("helloworld");}1.2文件名#一个文件中最多只能有一个public类且【文件名】必须和【public类名......
  • nested exception is java.sql.SQLException: connection disabled
    标题:解决SpringBoot连接数据库出现"connectiondisabled"异常在使用SpringBoot连接数据库时,有时候会遇到"nestedexceptionisjava.sql.SQLException:connectiondisabled"异常。这个异常通常是由以下原因引起的:数据库连接配置错误:检查数据库连接的URL、用户名和密码是否正确配......
  • Java 基础复习——StringBuffer 和 StringBuilder
    StringBuffer和StringBuilderStringBuffer类简介java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删很多方法和String相同,但StringBuffer是可变长度的StringBuffer是一个容器注意:StringBuffer的直接父类是AbstractStringBuilder有属......
  • Java的MVC设计模式,带你深刻理解MVC
    什么是MVC?就是ModelViewControl,模型视图控制器。MVC流程图解1.MVC概念:MVC本来是存在于Desktop程序中的,M(Model)是指数据模型,V(View)是指用户界面,C(Control)是控制器。使用MVC的最直接目的就是将M和V实现代码分离,C则是确保M和V的同步,一旦M改变,V应该同步更新。2.MVC工作方......
  • Java中的内部类,代码块
    前言学习Java过程中,对内部类和代码块部分知识比较模糊,容易忘掉。今天再学的时候有一些其他的收获,整理记录一下。1.代码块代码块的作用可以为初始化变量。都在在构造器方法之前执行,分为静态代码块和匿名代码块。静态代码块是在类加载时执行,因此只执行一次。匿名代码块在new实......
  • JAVA石头迷阵游戏
    大家帮我看看这个代码有没有问题,为什么将z设为作弊器但是在IDE中运行出来没有用//测试类importjavax.swing.*;publicclassTest{publicstaticvoidmain(String[]args){newMainFrame();}}importjavax.swing.*;importjava.awt.event.ActionEvent;......
  • java相关
    1、java环境建立2、windows系统下maven环境设置windows系统下下载二进制包apache-maven-3.6.0-bin.zip,然后解压。 第二种方法:使用绝对路径添加maven环境变量,直接在path里面的最前面添加c:\maven\bin;4、windows安装tomcat  设置环境变量也用绝对路径下载https://tomcat.apache.......