接口的创建及使用

接口是全局变量和公共的抽象方法集合。它也是一种定义数据类型的方式,与类相比

  相同之处:都是成员变量和成员方法也可以形成继承关系。

  不同之处:接口中的属性都是常量(final)接口中的方法是抽象方法(没有方法体)

引入接口的原因:java只支持单重继承,每个类只能有一个父类。但实际中有时候需要多重继承----使用接口,一个类可以实现多个接口。

  接口定义的格式:

  

    ①【public】②interface ③接口名{

    【public】【static】【final】数据类型 属性名=常量值;  //全局常量

    【public static】返回值类型 方法名(【形参表】);  //抽象方法

}

//①表示可以被不同包中的类或接口使用,缺省时具有包内可访性

//②关键字表示接口

//③任意有效标识符

 

interface A{            //    定义接口Apublic static final String name="赵小树";        //全局常量public abstract void print();            //抽象方法public abstract String getinfor();    //抽象方法
}/*||||等价于||         ||
*/
interface A{String name="赵小树";void print();String getinfor();

 

实现接口

  接口定义后不能直接创建对象,必须由子类实现接口。每个子类可以实现多个接口。实现接口的子类定义格式如下:

  class 子类名 ①implements 接口1,接口2,...{

    //

}

注意:类实现接口,就继承了接口中所有成员变量和成员方法。由于接口中的方法都是抽象的,因此实现接口的类必须重写这些方法。 

interface A{String name="赵小树";void print();String getinfor();
}
interface B{void say();
}
class X implements A,B{public void say(){System.out.println("Hello World");}public String getinfor(){return "hello";}public void print(){System.out.println("作者:"+name);}
}
public class five5{public static void main(String[] args){X x=new X();x.say();x.getinfor();x.print();}
}

一个子类同时实现多个接口,实际上就摆脱了java的单继承局限。

 

转载于:https://www.cnblogs.com/l666/p/9473735.html

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

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

相关文章

博客的未来仍然光明

博客的未来仍然光明 博客,能够实现欲望表达,自我实现,同时又能阶段性的形成自己的著作,取得一定的收益。目前在博客圈里不缺好作者,不缺平台,不缺读者,缺氛围。我们更需要的是,一个帮…

movielens推荐系统_基于内容推荐(二)

A content-based movie recommender system using MovieLens tags (用标签构建一个简单的电影推荐系统)现在有很多电影。如果没有某种推荐系统,您会担心,随着时间的流逝,用户可能会被他们不关心的电影所淹没。因此&…

全国计算机等级考试题库二级C操作题100套(第61套)

第61套: 函数fun的功能是进行字母转换。若形参ch中是小写英文字母,则转换成对应的大写英文字母;若ch中是大写英文字母,则转换成对应的小写英文字母;若是其它字符则保持不变;并将转换后的结果作为函数值返回。 请在程序…

phpcms毛遂

1.showmessage()showmessage(L(operation_success),?mlink&clink&aedit,, edit);edit>关闭对象showmessage(L(operation_failure));showmessage(L(operation_false),HTTP_REFERER);2.formValidator3.update()$dataarray(nickname>$_POST[nickname],contact>$…

android java 指针,opencv android:向我的代码中添加cascade分类器后出现空指针异常

我在casecadeclassifier.java类中收到空指针异常在这里:Mat objects_mat objects;detectMultiScale_4(nativeObj, image.nativeObj, objects_mat.nativeObj, scaleFactor);这是我的日志:02-11 20:53:15.209 10968-10968/? E/SystemUpdate-ReflectUtils: getClass android.pro…

HALCON 1D Measure 算子初识

基本上1D Measure都是建立一个ROI(region of interest,感兴趣区域),然后在感兴趣区域提取出边界的测量。常见的ROI有矩形ROI和圆环ROI。 下图为一个矩形ROI,中间的Profile Line为横截线,Center是行和列的坐标,Phi指定了…

python可视化界面编程 pycharm_pycharm开发一个简单界面和通用mvc模板(操作方法图解)...

文章首先使用pycharm的 PyQt5 Designer 做一个简单的界面,然后引入所谓的“mvc框架”。 一、设计登录界面 下面开始第一个话题,使用pycharm的 PyQt5 Designer 做一个简单的界面。 上一篇最后,在pycharm中配置了PyQt5 Designer 和 uic&#xf…

全国计算机等级考试题库二级C操作题100套(第62套)

第62套: 给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于…

编译apache过程中出现如下错误及解决办法

在编译apache的过程中出现如下错误:no SSL-C headers foundconfigure: error: ...No recognized SSL/TLS toolkit detected解决办法:安装openssl-devel转载于:https://blog.51cto.com/tibet/1153481

tensorflow学习笔记七----------卷积神经网络

卷积神经网络比神经网络稍微复杂一些,因为其多了一个卷积层(convolutional layer)和池化层(pooling layer)。 使用mnist数据集,n个数据,每个数据的像素为28*28*1784。先让这些数据通过第一个卷积层,在这个卷积上指定一个3*3*1的fe…

matlab strfind用法,findstr和strfind区别

matlab中这两个字符串查找的函数findstr(), strfind()表明上看起来用法相似,效果也相似。一. findstr(s1,s2)--在较长的字符串中查找较短的字符串出现的次数,并返回其位置,因此无论s1,s2哪个为长字符串,位置在前在后都没有关系。例…

python发邮件给女朋友代码_python实现邮件发送完整代码(带附件发送方式)

实例一:利用SMTP与EMAIL实现邮件发送,带附件(完整代码) __author__ Administrator #codinggb2312 from email.Header import Header from email.MIMEText import MIMEText from email.MIMEMultipart import MIMEMultipart import…

Ubuntu识别USB设备

参考:如何解决Ubuntu无法识别USB设备 作者:一只青木呀 发布时间:2020-08-28 21:02:00 网址:https://blog.csdn.net/weixin_45309916/article/details/108286829 目录1、U盘识别2、识别转换解决Ubuntu无法识别USB3.0方法一&#xf…

用ElasticSearch存储日志

介绍 如果你使用elasticsearch来存储你的日志,本文给你提供一些做法和建议。 如果你想从多台主机向elasticsearch汇集日志,你有以下多种选择: Graylog2 安装在一台中心机上,然后它负责往elasticsearch插入日志,而且你可…

解除单个文件的与svn服务器的关联

有些文件和个人开发环境有关不需要和svn服务器做同步,可以取消其和svn服务的关联。 右键选中要取消关联的文件,右键菜单 Tortoise SVN ---> unversion and add to ignore list 确定后,文件图标会变成一把小剪刀,说明已经…

java xml出错,Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException...

Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException解决办法:利用Java操作XML,在操作XML过程中,执行到最后一步,在利用Transformer进行XML转换时出现NullPointerException错误&#xff…

Ubuntu磁盘扩容及启动问题整理

参考:Ubuntu磁盘扩容及启动问题整理 作者:一只青木呀 发布时间: 2020-12-08 10:42:19 网址:https://blog.csdn.net/weixin_45309916/article/details/110850358 也可参照正点原子的:Ubuntu磁盘空间不足?一招…

函数求值需要运行所有线程_精读《深度学习 - 函数式之美》

1 引言函数式语言在深度学习领域应用很广泛,因为函数式与深度学习模型的契合度很高,The Beauty of Functional Languages in Deep Learning — Clojure and Haskell 就很好的诠释了这个道理。通过这篇文章可以加深我们对深度学习与函数式编程的理解。2…

IOS(常用移动终端设备) push实现通知中心

参考文章: http://blog.csdn.net/zhuqilin0/article/details/6527113 http://www.dozer.cc/2013/03/push-notifications-server-side-implement/ http://blog.sina.com.cn/s/blog_71ce775e0101b43e.html PushSharp:https://github.com/Redth/PushShar…

Ubuntu下无法看到共享文件夹的解决办法

参考:Ubuntu下无法看到共享文件夹的解决办法 作者:一只青木呀 发布时间:2020-08-07 10:09:04 网址:https://blog.csdn.net/weixin_45309916/article/details/107856157 今天早上起来突然发现共享文件夹的查看不到了,找…