精华内容
下载资源
问答
  • java接口的应用
    千次阅读
    2022-04-11 20:06:32

    JAVA里面接口可以继承接口吗?
    答案是可以的。但是继承的话不是使用implements关键字,而是使用extends关键字。
    下面这么写代码是会报错的:

    //这个代码肯定是会报错的,因为子接口继承父接口应该使用extends
    interface Animal{
    //	写一个抽象方法
    	void test();
    }
    
    interface Cat implements Animal{
    	
    }
    

    应该按照下面这么写:

    interface Animal{
    //	写一个抽象方法
    	void test();
    }
    
    interface Cat extends Animal{
    	void test2();
    }
    

    查看具体的例子:

    interface Animal{
    //	写一个抽象方法
    	void test();
    }
    
    interface Cat extends Animal{
    	void test2();
    }
    
    //实现父接口
    class Dog implements Animal{
    
    	@Override
    	public void test() {
    		
    	}
    	
    }
    //实现子接口
    class Dog2 implements Cat{
    
    	@Override
    	public void test() {
    		
    	}
    
    	@Override
    	public void test2() {
    		
    	}
    	
    }
    

    我们可以看到,如果我们去实现父接口,子接口可以不用实现。但是如果我们实现子接口,那么父接口也要一块写实现的方法。

    更多相关内容
  • Creo 二次开发JAVA接口使用向导,说明书
  • E:\最全面的Java接口自动化测试实战\第11章 数据持久层框架MyBatis的应用 E:\最全面的Java接口自动化测试实战\第12章 MyBatis+MySQL实现用例管理 E:\最全面的Java接口自动化测试实战\第13章 TestNg+MyBatis实现数据...
  • E:\最全面的Java接口自动化测试实战\第11章 数据持久层框架MyBatis的应用 E:\最全面的Java接口自动化测试实战\第12章 MyBatis+MySQL实现用例管理 E:\最全面的Java接口自动化测试实战\第13章 TestNg+MyBatis实现数据...
  • java 接口应用 输出学生信息java 接口应用 输出学生信息
  • java接口的作用和意义

    千次阅读 多人点赞 2021-11-20 14:27:34
    ???? Java学习路线配套文章:Java学习路线总结,搬砖工逆袭Java架构师(全网最强) ???...目录一、什么是接口二、接口的特点三、接口和类的区别四、接口和抽象类的区别五、接口的声明方式 一、什么

    🍅 作者简介:CSDN2021博客之星亚军🏆、新星计划导师✌、博客专家💪

    🍅 哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师

    🍅 关注公众号【哪吒编程】,回复1024,获取Java学习路线思维导图、大厂面试真题、加入万粉计划交流群、一起学习进步

    一、什么是接口

    Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

    二、接口的特点

    1. 接口中的每个方法都是隐式抽象的,接口中的方法会被隐式的指定为public abstract
    2. 接口中可以含有变量,但是接口中的变量会被隐式的指定为public static final变量
    3. 接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法

    三、接口和类的区别

    1. 接口不能实例化
    2. 接口没有构造方法
    3. 接口中所有的方法必须是抽象方法,java8之后可以使用default关键字修饰非抽象方法
    4. 接口不能包含成员变量,除了static和final变量
    5. 接口支持多实现

    四、接口和抽象类的区别

    1. 抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不能有方法体
    2. 抽象类中的成员变量可以使各种类型的,而接口中的成员变量只能是public static final类型的。
    3. 接口中不能含有静态代码块以及静态方法,而抽象类中可以有静态代码块和静态方法。
    4. 一个类只能继承一个抽象类,而一个类可以实现多个接口。

    五、接口的声明方式

    public interface UserService {
        void study();
    
        void sleep();
    }
    
    
    public interface StudentService {
        void play();
    }
    
    

    在这里插入图片描述

    public class StudentServiceImpl implements StudentService,UserService{
        @Override
        public void play() {
    
        }
    
        @Override
        public void study() {
    
        }
    
        @Override
        public void sleep() {
    
        }
    }
    


    更多内容详见:Java基础教程系列



    🍅 作者简介:CSDN2021博客之星亚军🏆、新星计划导师✌、博客专家💪

    🍅 哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师

    🍅 关注公众号【哪吒编程】,回复1024,获取Java学习路线思维导图、大厂面试真题、加入万粉计划交流群、一起学习进步

    在这里插入图片描述

    关注公众号,回复1024,获取Java学习路线思维导图、加入万粉计划交流群
    展开全文
  • Java中泛型接口

    千次阅读 2021-02-27 08:08:03
    一:泛型接口先给大家普及一个概念(在后面的也会有),其实在以后的开发中我们开发一个项目最基本的目的是将...般保存一类信息,那么张数据表在Java中就对应一个简单Java类(vo类),而且我们会定义一个接口来规范操作...

    一:泛型接口

    先给大家普及一个概念(在后面的也会有),其实在以后的开发中我们开发一个项目最基本的目的是将数据库中的数据显示到客户端或者客户端可以将数据录入数据库实现数据的交互,那么数据库分为关系型数据库(比如mysql)和非关系型数据库(redis), 关系型数据库是由表组成的,一张数据表一.般保存一类信息,那么张数据表在Java中就对应一个简单Java类(vo类),而且我们会定义一个接口来规范操作这张数据表的实现类开发。

    DEMO:观察代码

    6991e7ea6cff5a7d5c691aee62f45a77.png

    2c67f0b783053ecc83d2d1ff02998257.png

    4e47cee118f70e5b1f5a19230c9a5336.png

    以上定义了一个操作部门数据的接口,如果要操作雇员信息的应该再为雇员定义一个接口

    DEMO:操作雇员信息的接口

    9ec3ac6f3fbd263caa376a55aba4334b.png

    396835cd9c29ea11cd93767b5f0802bf.png

    发现了以上的只有接口的名称以及每个方法的参数类型不- -样,方法的名称以及形式都是一样的,如果有一百张数据表就意味着要定义一百个这样的接口。此时就出现了代码重复的现象,最好的做法是使用一个接口实现多张数据表的数据操作。要实现这样的操作需要使用泛型接口。之前每个接口只能操作- -种类型的数据,现在使用泛型接口之后,把要操作的数据类型使用占位符标记,具体使用接口的时候再根据需求指定泛型的类型。

    DEMO:定义泛型接口

    235845609f0e345d45a3c07b86a5f021.png

    e9df5891e73def1cbc01d954351bb10d.png

    DEMO:在实现类中指定泛型类型

    115ef040c90d12fc89e18373ad1bff63.png

    eee206a445e7624e5e6b9f54576ee003.png

    628a5ea77241f8d154fd47b184d2d081.png

    e5ab6ba79e738acf5be3db171fb90e4e.png

    70e93f837b59b3f97da90dfa51371cb1.png

    DEMO:在实现类中继续使用泛型,之后再实例化实现类对象的时候才指定具体的占位符的类型

    3a184b2dbbfd3109c1ca99e49b5c7f9b.png

    b6736a13cea761fbbccbf2712251a4c2.png

    71af04d9776e46f4c95a094854110f07.png

    f97d6455f53f7d97f9fe21464ab35f90.png

    其实上在实现类的时候指定出具体的泛型就够了,以上的做法是为了给大家描述出泛型接口的使用另外的方式。

    DEMO:在接口继承接口的时候指定出具体的泛型类型

    以上我们直接使用实现类去实现IBaseDAO,其实上IBaseDAO接口是一个父接口( 公共的接口),那么如果实现类需要有自己特有的方法(还要扩充新的方法),那么还是离不开子接口,所以我们还要使用子接口去继承父接口(IBaseDAO)

    621c890053f86bf23b74b4cee636c7c5.png

    916480d4631f13adae27aeb58125da97.png

    fdb3418103383de27668a8e5c38de53c.png

    e9808e7cb1c9447c7d68e233aada5cbd.png

    总结:

    1、在定义一个接口的时候如果某些类型不能确定,那么就使用占位符标记,在具体使用的时候再指定泛型的类型。

    2、接口的泛型常用的使用方式:

    直接在实现类中指定泛型的具体类型

    在实现类中继续使用泛型,在实例化实现类对象的时候指定泛型的具体类型

    在接口继承接口中指定泛型的具体类型。

    有完整的Java初级,高级对应的学习路线和资料!专注于java开发。分享java基础、原理性知识、JavaWeb实战、spring全家桶、设计模式、分布式及面试资料、开源项目,助力开发者成长!

    欢迎关注微信公众号:码邦主

    展开全文
  • Java 接口多继承

    千次阅读 2021-02-27 09:10:02
    按照理解,一般都是说Java 类是单继承,但可以实现多个接口。但是可以通过接口来实现类的多继承。(如何通过接口来实现多继承?...java通过使用接口的概念来取代C++中多继承。与此同时,一个接口则可以同时e...

    按照理解,一般都是说Java 类是单继承,但可以实现多个接口。但是可以通过接口来实现类的多继承。(如何通过接口来实现多继承???)

    那么就一直以为Java里面是单继承,今天看FutureTask源码的时候发现,接口居然可以实现多继承,通过下面例子学习下。

    一个类只能extends一个父类,但可以implements多个接口。java通过使用接口的概念来取代C++中多继承。与此同时,一个接口则可以同时extends多个接口,却不能implements任何接口。因而,Java中的接口是支持多继承的。

    下面先对接口做个总结:

    1>接口中的成员变量默认都是public,static,final(都可省略),必须被显示初始化,即接口中的成员变量必须是常量。

    2>接口中的方法默认都是public abstract类型的(都可省略),没有方法体。

    3>接口中只能包含public abstract类型的成员方法和public static final类型的成员变量。

    4>接口中没有构造方法,不能被实例化

    5>一个接口不能实现(implements)另一个接口,但是可以多继承接口

    6>Java中必须通过类来实现接口中的抽象方法

    7>当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象类

    8>不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例

    9>一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承

    下面给一个接口多继承的例子,注意打印的a的值

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    1 packageLesson1218Thread;

    2

    3 public interfaceTestIFA {

    4 int a = 0;

    5 int b = 1;

    6 int c = 2;

    7

    8 voidprintInfo();

    9

    10 }

    11

    12 packageLesson1218Thread;

    13

    14 public interfaceTestIFB {

    15 int a = 4;

    16 int b = 5;

    17 int c = 6;

    18

    19 voidprintInfo();

    20 }

    21

    22 packageLesson1218Thread;

    23

    24 public interface TestIFC extendsTestIFA,TestIFB {

    25 //int d = 4;

    26 int a = 7;

    27 }

    28

    29 packageLesson1218Thread;

    30

    31 public class IFDemo implementsTestIFC{

    32

    33 public static voidmain(String[] args) {

    34

    35 IFDemo ifdemo = newIFDemo();

    36 System.out.println("a is "+ifdemo.a); //a is 7, 因为这个地方实现接口TestIFC, 若是TestIFB, 则输出a is 4.

    37

    38 }

    39

    40 @Override

    41 public voidprintInfo() {

    42 System.out.println("which IF ?????");

    43

    44 }

    45

    46 }

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    重点关注line36,   测试类实现哪个接口,输出的a就是哪个接口定义的值。

    问题1:若同时实现两个接口,调用里面相同变量 , 编译错误。 如下:

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    1 packageLesson1218Thread;

    2

    3 public class IFDemo implementsTestIFA,TestIFC{ //同时实现两个接口

    4

    5 public static voidmain(String[] args) {

    6

    7 IFDemo ifdemo = newIFDemo();

    8 System.out.println("a is "+ifdemo.a); //编译错误

    9

    10 }

    11

    12 @Override

    13 public voidprintInfo() {

    14 System.out.println("which IF ?????");

    15

    16 }

    17

    18 }

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    line8 会报编译错误: The field ifdemo.a is ambiguous

    程序不能找到应该调用哪个里面的a.

    结论:接口多继承时,接口里面有定义相同的变量,如果实现类要调用相同变量,必须显示指出来。如 TestIFA.a 。

    问题2:同时实现两个接口,若接口中的成员方法名字相同,但是返回值不一样,

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    1 packageLesson1218Thread;

    2

    3 public interfaceTestIFA {

    4 int a = 0;

    5 int b = 1;

    6 int c = 2;

    7

    8 voidprintInfo();

    9

    10 }

    11

    12 packageLesson1218Thread;

    13

    14 public interfaceTestIFB {

    15 int a = 4;

    16 int b = 5;

    17 int c = 6;

    18

    19 String printInfo();

    20 }

    21

    22 packageLesson1218Thread;

    23

    24 public interface TestIFC extendsTestIFA,TestIFB { //编译错误

    25 //int d = 4;

    26 int a = 7;

    27 }

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    接口TestIFA中含有成员方法voidprintInfo();   而接口TestIFB中含有成员方法String printInfo();  两个成员方法返回值不一样。

    接口TestIFC想继承上面两个类,编译错误。The return types are incompatible for the inherited methods TestIFA.printInfo(), TestIFB.printInfo()

    结论:被多继承的接口中,不能有方法名相同,但是返回值不一样的函数。否则没法多继承。

    展开全文
  • Java接口使用

    千次阅读 2019-01-10 14:20:29
    实现接口时,需要使用关键字implements,该关键字指定该类实现接口,基本语法如下。 class <类名> implements <接口名列表> 接口名列表中可以有多个接口,因为接口代表的角色,一个...
  • JAVA接口的实现(代码实例),java接口代码实例1.接口1.1 定义上文书说道:java只支持单继承,不支持多重继承。但若要实现多重继承的效果,可以用接口(interface)来实现。接口是与类同级的java模块,只是这个特殊‘’...
  • java接口使用example

    千次阅读 2019-01-16 10:23:27
    java接口使用example定义USB接口代码如下 定义USB接口代码如下 interface USB{ public String read(); public void write(String s); } #手机的usb实现接口 class PHONE implements USB { String s="123&...
  • java接口详解

    千次阅读 2021-01-05 21:53:27
    官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 我的解释:接口可以...
  • Java接口作为参数传递

    千次阅读 2021-01-30 15:55:50
    Java接口作为参数传递 原文出处http://www.jufanshare.com/content/70.html Java接口作为参数传递的两种方式实现 方式一: 预先准备待使用类TestClassA package com.jufanshare; /** * @功能: * @开发者: 大...
  • java实现HTTPS接口调用

    千次阅读 2021-09-08 16:16:24
    sslContext.init(null,tm,new java.security.SecureRandom()); //从上述SSLContxt对象中得到SSLSocketFactory对象 SSLSocketFactory ssf = sslContext.getSocketFactory(); URL requestUrl = new URL...
  • java接口鉴权

    千次阅读 2021-08-25 11:35:24
    项目需要接口添加鉴权,选用token鉴权方式,后端与调用方使用相同的加密算法(key+method).md5作为token------参考demo
  • java接口的特点

    千次阅读 2022-03-08 16:57:10
    1.接口中的抽象方法不需要使用abstract关键字声明,接口使用interface声明 2.接口中变量都是默认由public static final修饰的,而抽象类中可以有变量 3.接口中没有构造方法,构造方法用于创建对象,所以接口不...
  • python调用java接口

    千次阅读 2022-01-25 14:25:58
    ... public class Test { public String run(String str)...首先现在cmd中,javac test.java 乱码测使用-encoding utf-8 然后返回com的上级目录(就是py文件所在的路径),执行 jar cvf test.jar com 参数说明:利用com
  • 在java中,接口是一切实现方法的来源,任何实现都离开不了接口,那么,一个标准的java接口写法是怎样的呢?下面,就让小编带你一起了解一下吧。(一)接口1、什么是接口。接口就是一些方法特征的集合。一些功能的定义。...
  • Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。一、接口含义:1....
  • Java 接口 解析

    千次阅读 2021-12-07 10:32:16
    Java 7 接口包含:常量、抽象方法 Java 8 接口新增:默认方法、静态方法 Java 9 接口新增:私有方法 1、常量 [public] [static] [final] 数据类型 常量名 = 数值; 注意: (1)常量名全为大写,用下划线连接 (2...
  • Java接口继承和使用接口

    千次阅读 2019-06-08 17:57:58
    接口支持多继承,一个接口可以有多个父接口,子接口扩展某个父接口,将会获得父接口里定义的所有抽象方法、常量。 一个接口继承多个父接口时,多个父接口排在extends关键字之后。 2代码 interface interfaceA { ...
  • 如何使用具有多个实现类的java接口

    千次阅读 2021-03-06 02:53:57
    基本上,我正在使用命令模式编写一个GWT Web应用程序RPC servlet,正如Ray Ryan在其talk中所解释的那样 谷歌代码上有几种实现方式,但其中许多都存在这种继承问题.我认为这是GWT-RPC代码bugreport中的一个错误,因为我...
  • JAVA基础——接口(全网最详细教程)

    万次阅读 多人点赞 2018-05-10 09:46:42
    官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 我的解释:接口...
  • Java接口中的default方法

    千次阅读 2021-08-15 22:37:24
    Java接口中的default方法 default 接口中可以添加使用default或者static修饰的方法,在这里我们只讨论default方法,default修饰方法只能在接口中使用,在接口中被default标记的方法为普通方法,可以直接写方法体。...
  • Java中如何实现接口接口使用

    千次阅读 2021-03-17 16:50:40
    接口使用,让大家对接口有一个简单的了解。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。在java中,接口像类一样,可以有方法和变量,但在接口中声明的方法默认是抽象的(只有方法签名,没有...
  • java调用HTTP接口(Get请求和Post请求)
  • Java接口实现文件上传

    千次阅读 2021-02-12 15:25:38
    因工作需要,在后台管理页面加入一个上传文件的模块,虽然接口的代码很简单,但实现期间遇到了一些比较有趣的坑,特记录下来。需求实现文件上传,并提供一个可供下载的路径。想法文件上传代码暂且不谈,先说说文件...
  • Java接口的作用和意义是什么?

    千次阅读 2021-11-23 15:35:17
    接口的定义  接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。  人类与电脑等信息机器或人类与程序...
  • 在本文中,我们将深入讨论为什么java8接口新增了默认方法,如何使用默认方法,并讨论一些有用的用例。 默认方法 在接口中用default关键字定义接口的默认方法。普通接口方法是不能有实现的,默认方法必须有实现: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,300,910
精华内容 920,364
关键字:

java接口的应用