一个类可以实现多个接口吗_Java入门:基础知识(面向对象:接口)

3c8bd0aeb9e869ad1fd36ef41ab9b78a.png

接着上一篇的基础知识,今天俺们来学习一下:

面向对象

(万物皆对象)

三大特征(封装、继承、多态)

接口

接口    概述:接口是一种引用数据类型,是方法的'集合',接口的内部主要是定义方法,包含常量、抽象方法(JDK7及以前)、默认方法和静态方法(JDK8)、私有方法(JDK9)。    interface 关键字//使用interface关键字来定义接口,会被编译成.class文件,但接口并不是类,而是另外一种引用数据类型。    定义:        格式:            public interface 接口名{                //常量                //抽象方法                //默认方法                //静态方法                //私有方法            }                public interface IA{                // 常量(jdk7): 修饰符是public static final,这三个关键字可以省略不写                public static final int NUM = 10;                // 抽象方法(jdk7): 修饰符是public abstract,这2个关键字可以省略不写                public abstract void method1();                // 默认方法(jdk8): 修饰符是public default,只有public可以省略不写                public default void method2() {                    System.out.println("IA 默认方法method2");                }                // 静态方法(jdk8): 修饰符是public static,只有public可以省略不写                public static void method3() {                    System.out.println("IA 静态方法method3");                }                // 私有方法(jdk9): 修饰符是private,不可以省略                private void method4() {                    System.out.println("IA 私有非静态方法method4");                }

接口:实现接口

    实现接口        概述:类与接口的关系为实现关系,即 类实现接口,该类可以称为接口的 实现类,也可以称为接口的子类。实现的动作类似继承,格式相仿,只是关键字不同,实现使用 implements 关键字。        注意:            额外的功能---> 在接口中定义,让实现类实现                如果可以确定的通用功能,使用默认方法                如果不能确定的功能,使用抽象方法            共性的功能---> 在父类中定义,让子类继承                如果可以确定的通用功能,使用默认方法                如果不能确定的功能,使用抽象方法        implements 关键字 //实现类用        实现格式:            public class 实现类名 implements 接口名1,接口名2{}            public class 实现类名 extends 父类名 implements 接口名1,接口名2{}            //类可以实现一个接口,也可以同时实现多个接口。            public interface IA{                public void show1();            }            public interface IB{                public void show2();            }            public class Zi implements IA ,IB{                @Override                public void show1(){//类实现接口后,必须重写接口中的所有抽象方法,否则该类必须是一个抽象类                }                @Override                public void show2(){//类实现接口后,必须重写接口中的所有抽象方法,否则该类必须是一个抽象类                }            }            //类可以在“继承一个类”的同时,实现一个、多个接口;            public class Fu{}            public interface IA{}            public interface IB{}            public class Zi extends Fu implements IA,IB{//一定要先继承,后实现            }

接口:接口中的成员访问特点/关系

        接口中成员的访问特点            接口中的常量: 主要是供接口直接使用            接口中的抽象方法: 供实现类重写的            接口中的默认方法: 供实现类重写或者直接调用            接口中的静态方法: 只供接口直接调用,实现类继承不了            接口中的私有方法: 只能在接口中直接调用,实现类继承不了        接口与接口之间的关系            interface IA{}            interface IB{}            interface IC extends IA{}// 单继承            interface ID extends IA,IB{} // 多继承            interface IE extends ID{} // 多层继承            public class Test {                public static void main(String[] args) {                    /*                        接口和接口之间的关系: 继承关系                            单继承                                public interface 接口名 extends 父接口名{}                            多继承                                public interface 接口名 extends 父接口名1,父接口名2,...{}                            多层继承                                public interface 父接口名 extends 爷爷接口名{}                                public interface 子接口名 extends 父接口名{}                     */                }            }

你有对接的接口吗?

43d0a97c93f3772c5a44f389fa32e2ad.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生成条形码二维码DataMatrix条码.EAN码.39码.交叉25码.UPC码.128码.93码.ISBN码.Codabar等...

1.引用Spire.Barcode在Nuget包中安装Spire.Barcode2.生成条形码//创建 BarcodeSettings对象BarcodeSettings settings new BarcodeSettings();//设置条形类型为EAN-13settings.Type BarCodeType.EAN13;//设置条形码数据settings.Data "58465157484";//使用校检set…

多云战略:企业如何精益求精?

随着为企业用户提供更多的选择和更高的灵活性,多云模式正在开始受到他们的关注。但正如实施一个单一的云部署一样,企业需要为多云计算实施进行精心评估,从而选择正确的云服务供应商。在某些情况下,那些市场的非主流供应商可能会为…

最常用的动态sql语句梳理Mybatis(转)

公司项目中一直使用Mybatis作为持久层框架,自然,动态sql写得也比较多了,最常见的莫过于在查询语句中使用if标签来动态地改变过滤条件了。Mybatis的强大特性之一便是它的动态sql,免除了拼接sql带来的各种麻烦,在开发项目…

用C++实现简单随机二元四则运算

让我们想看看二元四则运算都需要实现什么: (1) 定制题目数量 (2) 是否有乘除法 (3) 题目数值范围 (4) 加减有无负数 (5) 除法有无余数 &#xff0…

WireShark抓包之提示Alert Level: Fatal, Description: HandShake Failure

1 问题 ssl协议失败的方法,发了client hello包之后回复server hello包失败 2 分析 对比正常client hello的数据包, 我们点击Client Hello包看下详细信息,如下图 感觉ssl协议版本不对 然后我们修改了apache的配置,让代理服务

java地址映射关系,Spring MVC——基础(简介,使用,地址映射)

“大佬们”嘴中的SSH,SSM框架,我这种小白终于解除到第二个S了,关于Spring MVC框架,根据最近的学习发现,还是有很多不足和需要加强巩固的地方,所以,通过总结博客的方式将Spring MVC再次巩固学习一下。Spring…

scrapy爬取动态网页_scrapy_splash 设置随机请求头

本文为 霾大:scrapy_splash 爬取 js 加载网页初体验​zhuanlan.zhihu.com的补充在上面的文章中我们仅仅是初步完成了 scrapy_splash 的简单使用接下来我们将介绍如何是使得 splash 在 render.html (默认)访问网页时也能动态调整其请求头等&am…

机器学习模型开发必读:开源数据库最全盘点

开发 AI 和机器学习系统从来没有像现在这样方便。类似于 TensorFlow、Torch 和 Spark 这样的开源工具,在 AI 开发者群体中已是无处不在。再加上亚马逊 AWS、Google Cloud 等云服务带来的海量计算能力,将来使用笔记本电脑来训练 ML 模型或许不再难以想象。…

php之clone 复制对象以及__clone魔术方法

如果错误和不足请给予指出&#xff0c;谢谢~ (⊙&#xff3f;⊙) 在开始使用clone之前我们下先看以下一个小例子&#xff1a; <?php //首先定义一个test一个类 class Testclass {//成员变量是$value1public $value1; } //随后new一个obj1 $obj1 new Testclass(); //复…

C#中使用WeiFenLuo.WinFormsUI.Docking.dll实现窗口停靠效果

很酷的效果&#xff0c;很值得好好去学习的哈。 重置工具箱&#xff1a; 新建一个WinForm程序,项目名称为TestDockPanelControl。选中Form1窗体后选择工具箱--->>新建个添加选项卡命名为WeiFenLuo--->>右键--->>选择项--->>浏览--- >>weiFenLuo.…

使用aspnetcore前后端分离开发,你一定要知道这个。

前言用过Vue单页面应用开发的&#xff0c;一定都知道Vue-router这个路由组件&#xff0c;它支持hash和history两种模式。HTML5 History 模式vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL&#xff0c;于是当 URL 改变时&#xff0c;页面不会重新加载。…

Visual Studio 2015专业版创建Win32控制台应用程序,C,C++源文件

原配的Visual Studio 2015专业版不像之前的版本,在新建项目里面是找不到Win32模板的,那么怎么才能新建Win32项目和Win32控制台应用程序呢?今天我就带大家做一简单介绍。 先看如下图所示: 解决: 1、添加的办法是点击上图所示的新建项目界面的Visual C++下面的Windows,再…

php 序列化对象

习惯性借用手册里面的介绍&#xff1a; 所有php里面的值都可以使用函数serialize()来返回一个包含字节流的字符串来表示。unserialize()函数能够重新把字符串变回php原来的值。序列化一个对象将会保存对象的所有变量&#xff0c;但是不会保存对象的方法&#xff0c;只会保存类…

如何为同一 DTO 属性指定 2 个名称

前言我们在《实现DDD领域驱动设计》中谈到过输出 DTO 的最佳实践&#xff0c;其中一条是&#xff1a;保持输出 DTO 数量最少&#xff0c;尽可能重用。但是&#xff0c;对于 2 个不同接口输出的同一 DTO 属性&#xff0c;客户端可能需要对应不同的名称&#xff0c;比如&#xff…

HDU 4777 Rabbit Kingdom 树状数组

分析&#xff1a;找到每一个点的左边离他最近的不互质数&#xff0c;记录下标(L数组)&#xff0c;右边一样如此&#xff08;R数组&#xff09;&#xff0c;预处理 这个过程需要分解质因数O&#xff08;n*sqrt(n)) 然后离线&#xff0c;按照区间右端点排序 然后扫一遍&#xff0…

按一行一行的方法将一个文本文件复制到另一个文件中_命令行技巧:分割文件内容...

(给Linux爱好者加星标&#xff0c;提升Linux技能)英文&#xff1a;Stephen Snow&#xff0c;翻译&#xff1a;Linux中国/MjSevenlinux.cn/article-10809-1.htmlFedora 发行版是一个功能齐全的操作系统&#xff0c;有出色的图形化桌面环境。用户可以很容易地通过单击动作来完成任…

谷歌浏览器之如何调试页面js

1 问题 谷歌浏览器如果调试页面js 2 举例子 比如我们需要调试www.baidu.com这个页面&#xff0c;我们需要先按下F12&#xff0c;然后再去点击Source,然后在找到相应的js文件&#xff0c;在左边进行打上断点&#xff0c;然后我们再刷新页面&#xff0c;然后我们在右边可以看到…

php判断秒为两位数,判“新”函数:得到今天与明天的秒数

判“新”函数&#xff1a;得到今天与明天的秒数更新时间&#xff1a;2006年10月09日 00:00:00 作者&#xff1a;如果你想根据时间来判断某一时间值(用秒数表示)是否在今天的范围之内。下面这个函数&#xff0c;将帮你轻而易举的判断。函数源代码&#xff1a;----------------…

如何查看文件夹里有几张图片_如何把几张图片合成一个pdf?图片合并为pdf的操作教程...

我在一家公司当美工&#xff0c;平时要接触到很多图片素材&#xff0c;并把它们以pdf格式文件的形式发送给客户查看(以此来摸索出客户想要的图片效果)。把几张图片合并成为一个pdf文件&#xff0c;即是将图片格式转换成为pdf格式&#xff0c;这对我来说不难操作。毕竟是公司的老…

Dapr 能否取代 Spring Cloud?

Dapr 和 Spring Cloud 的区别很多人都是使用 Spring Boot 和 Spring Cloud 来开发微服务。Dapr 也是开发微服务的框架&#xff0c;它和 Spring Cloud 有什么区别呢&#xff0c;其实这不是一个区别的问题&#xff0c;它是不同的时代需要不同的框架。Spring Cloud 是一种产品&…