首页 > 编程语言 >java—接口

java—接口

时间:2025-01-19 13:29:21浏览次数:3  
标签:java name age 接口 public 方法 void

接口:是一种规则,是对行为的抽象。

接口的定义和使用

  • 接口用关键字interface来定义

public interface 接口名{}

  • 接口不能实例化

接口和类之间是实现关系,通过implements关键字表示

public class 类名 implements 接口名{}

  • 接口的子类(实现类)

要么重写接口中的所有抽象方法

要么是抽象类

注意1:接口和类的实现关系,可以单实现,也可以多实现。

public class类名implements接口名1,接口名2}

注意2:实现类还可以在继承一个类的同时实现多个接口。

public class类名extends父类implements接口名1,接口名2}

代码案例:

public abstract class dongwu {
    private String name;
    private int age;
    public dongwu(){

    }
    public dongwu(String name, int age){
        this.name = name;
        this.age = age;
    }
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }
    public void setAge(int age){
        this.age = age;
    }
    public int getAge(){
        return age;
    }
    public abstract void eat();

}

class tuzi extends dongwu{
    public tuzi() {
    }

    public tuzi(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("兔子在吃胡罗卜");
    }
}

class qingwa extends dongwu implements swim{
    public qingwa() {
    }

    public qingwa(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("青蛙再吃虫子");

    }

    @Override
    public void swim() {

    }
}
class dog extends dongwu implements swim{
    public dog() {
    }
    public dog(String name, int age) {
        super(name, age);
    }
    @Override
    public void eat() {
        System.out.println("狗在吃骨头");

    }
    @Override
    public void swim() {
    }
}
public interface swim {
        public void swim();

}
public class text {
    public static void main(String[] args) {
        qingwa qw = new qingwa("小青",1);
        System.out.println(qw.getName()+","+qw.getAge());
        qw.eat();
        qw.swim();
        tuzi tz = new tuzi("兔子",1);
        System.out.println(tz.getName()+","+tz.getAge());
        tz.eat();
    }
}

接口中成员的特点:

  • 成员变量

只能是常量

默认修饰符:public static final

  • 构造方法

没有

  • 成员方法

只能是抽象方法

默认修饰符:public abstract

接口和类之间的关系

类和类的关系

继承关系,只能单继承,不能多继承,但是可以多层继承

类和接口的关系

实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口

接口和接口的关系

继承关系,可以单继承,也可以多继承

JDK8以后接口中新增的方法

●JDK8的新特性:接口中可以定义有方法体的方法。(默认,静态)

●允许在接口中定义默认方法,需要使用关键字default修饰

作用:解决接口升级的问题

接口中默认方法的定义格式:

●格式:public default返回值类型 方法名(参数列表){}

范例:public default void show(){}

接口中默认方法的注意事项:

●默认方法不是抽象方法,所以不强制被重写。但是如果被重写,重写的时候去掉default关键字

●public可以省略,default不能省略

●如果实现了多个接口,多个接口中存在相同名字的默认方法,子类就必须对该方法进行重写

public interface inter {
    public abstract(可以省略) void method1();   接口中的抽象方法
    public default void show(){
        System.out.println("接口中的默认方法可以重写");
    }
}

●允许在接口中定义定义静态方法,需要用static修饰

接口中静态方法的定义格式:

格式:public static返回值类型 方法名(参数列表){}

范例:public static void show(){}

接口中静态方法的注意事项:

静态方法只能通过接口名调用,不能通过实现类名或者对象名调用

public可以省略,

static不能省略

public interface inter {

public abstract(可以省略) void method1(); 接口中的抽象方法

public static void show(){ 注:静态方法不允许被重写

System.out.println(" hellow");

}

}

调用接口中的静态放法:接口名.方法名();

接口中私有方法的定义格式:

格式1:private返回值类型方法名(参数列表){}

范例1:private void show(){}

格式2:private static返回值类型方法名(参数列表){}

范例2:private static void method(){}

静态只能访问静态。

1.接口代表规则,是行为的抽象。想要让哪个类拥有一

个行为,就让这个类实现对应的接口就可以了。

2.当一个方法的参数是接口时,可以传递接口所有实现

类的对象,这种方式称之为接口多态

适配器设计模式

1.当一个接口中抽象方法过多,但是我只要使用其中一部分的

时候,就可以适配器设计模式

2.书写步骤:

编写中间类XXXAdapter,实现对应的接口

对接口中的抽象方法进行空实现

让真正的实现类继承中间类,并重写需要用的方法

为了避免其他类创建适配器类的对象,中间的适配器类

用abstract进行修饰

标签:java,name,age,接口,public,方法,void
From: https://blog.csdn.net/2302_80073130/article/details/145242039

相关文章

  • leetcode——三数之和(java)
    给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1:输入:nums=[-1,0,1,2,-1,-4]输......
  • Java初学者笔记-05、集合框架
    集合体系集合是可变长的。Collection:代表单列集合,每个元素包含一个值。Map:代表双列集合,每个元素包含两个值。Collection集合List系列集合:添加的元素是有序、可重复、有索引。ArrayList、LinekdList:有序、可重复、有索引。Set系列集合:添加的元素是无序、不重复、无索......
  • 基于java+springboot的搞笑视频分享浏览小程序
    课题说明以下是基于Java+SpringBoot的搞笑视频分享浏览小程序的介绍:这个小程序利用Java语言和SpringBoot框架开发,为用户打造了一个轻松有趣的搞笑视频分享和浏览平台。用户可以在平台上上传各种搞笑视频,系统会对视频进行存储和管理,包括对视频的分类(如短剧、段......
  • java 方法的定义
    什么是方法(类似于函数)System.out.println()//调用系统out中的println方法类对象方法方法的定义及调用方法定义:修饰符:public,static,....返回值:int,void...方法名:驼峰命名规则参数类型:(形参—用来定义参数add(inta,intb)——inta,intb),(实参—实际传递......
  • 你上家公司的接口是怎么管理的?
    在上家公司,我们前端开发团队采用了统一接口管理的方式来管理接口,以提高代码的可维护性、可读性和复用性。具体来说,我们主要采取了以下措施:创建统一的接口目录:我们首先建立了一个专门的api目录,用于存放所有的接口请求函数。这样做的好处是可以将接口请求集中到一个地方进行管理,......
  • 系统安全设计规范,代码管理机制,管理规范,接口集成规范,代码编写规范,程序设计规范(全文档整
    1.1安全建设原则1.2安全管理体系1.3安全管理规范1.4数据安全保障措施1.4.1数据库安全保障1.4.2操作系统安全保障1.4.3病毒防治1.5安全保障措施1.5.1实名认证保障1.5.2接口安全保障1.5.3加密传输保障1.5.4终端安全保障软件全套资料部分文档......
  • 集成工作流的后台管理系统,springboot集成activiti,Java集成工作流审批流,vue后台管理系
     前言这是一套集成了工作流的后台管理系统,工作流做到了在线流程图设计,发布,绑定业务表单进行流程流转,整个流程的控制,审批,会签,驳回,挂起等。后台管理的功能有:系统管理,表单设计,工作台等。拿过去你可以做什么:可以直接在上面进行业务的开发,比如可以直接做请假申请,报销申请单等。......
  • 社区团购管理系统,Java+Vue,源码+文档
    前言:社区团购管理系统是一个集成了多种功能的综合性平台,旨在提高团购活动的效率和管理水平。以下是针对系统的九个主要管理模块的详细解释:一、个人中心个人中心是用户的个人信息管理区域。主要功能包括:用户资料编辑:允许用户修改个人信息,如姓名、联系方式、地址等。账户安全......
  • USB接口颜色都代表什么含义
    手机充电器人人都有!充电器线颜色都不同!你知道不同颜色的USB接口的各个颜色都代表什么含义吗?大部分人都是不知道的,这篇文章让您一目了然!建议收藏备用!以备不时之需!           ......
  • 以太网详解(五)GMII、RGMII、SGMII接口时序约束(Quartus 平台)
    文章目录接口时序AvalonStreaming接口时序ReceiveTimingTransmitTimingGMII接口时序ReceiveTimingTransmitTimingRGMII接口时序ReceiveTimingTransmitTiming如何创建.sdc约束文件三速以太网系统时钟信号创建set_input_delay,set_output_delay约束set_in......