漫步Java------接口
接口
一、定义
具有相同行为(方法),但是不相关的类
二、特点
- 只是提供方法,不定义方法的具体实现。
- 一个类只能继承一个父类,但是接口却可以继承多个接口。
- 接口是一个引用类型的变量
- 接口没有构造方法,不能被实例化,只能被类实现,或者别另外的接口继承
- 接口的方法签名后面没有花括号,以分号结尾
- 接口的属性:
- public
- final
- static
三、语法
1、定义语法:
权限修饰符 interface 接口名称 [extends 父接口名称列表]{
/**
*接口体
*/
//常量声明
[public] [static] [final] 常量名称;
//方法声明
[public] [static] [final] 返回类型 方法签名;
}
(1)注意:
a、权限修饰符只能是public,或者abstract
b、在接口中定义的任何字段都自动是static和final
(2)实例
public interface Coroup extends Interface1,Interface2{
int i=2; //常量声明
void doSomething(int i); //声明方法
}
2、使用语法:
权限修饰符 class 类名称 [extends 父类名称] implement 接口名称{
//……
}
3、多重继承语法:
class 类名 implement 接口1,……接口n
4、接口的继承
Interface Inaterface2 exends Interfaces{
……
}
四、接口与抽象类的区别
Java抽象类提供可以提供部分某些方法的部分实现,接口则不可以
Java抽象类加入一个新的具体方法时,它所有的子类都立刻得到这个新的方法,而接口则不可以。
漫步Java------接口的更多相关文章
- java接口调用——webservice就是一个RPC而已
很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法.就是本地方法调用的升级版而已,我明天会上一篇如何通过 ...
- java 接口的作用和好处
1.java 接口的作用 http://blog.csdn.net/hack_bug/article/details/7634737 2.一位Java大牛的回答 很多JAVA初级程序员对于接口存在的意 ...
- java接口
一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...
- java接口的嵌套
java接口 1.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值 2.接口中的方法默认都是 public abstract ...
- java 接口和抽象类的区别
java 接口和抽象类的区别抽象类:1.含有抽象方法的类一定为抽象类,反过来抽象类,不一定含有抽象方法:2.抽象类必须用abstract来进行定义,抽象方法也必须用abstract来进行定义:3.抽象 ...
- java 接口(上)
1.接口中的方法都是抽象方法.而普通的抽象类里面不一定都是抽象方法.抽象类中必须有抽象方法,同时也可以有非抽象方法.继承抽象父类的子类中,如果依然有抽象方法,那么这个子类也是抽象类.即只要类中有抽象方 ...
- java接口和抽象类
关于接口 1.创建一个接口,需要使用interface关键字. 2.实现一个接口,需要使用implements关键字. 3.接口的成员属性都是静态常量(默认public static final). ...
- python面向对象进阶 反射 单例模式 以及python实现类似java接口功能
本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员. 类的成员 类的成员可以分为三大类:字段.方法和特性. 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存 ...
- 初探设计:Java接口和抽象类何时用?怎么用?
今天犯了个错: “接口变动,伤筋动骨,除非你确定只有你一个人在用”.哪怕只是throw了一个新的Exception.哈哈,这是我犯的错误. 一.接口和抽象类 类,即一个对象. 先抽象类,就是抽象出类的 ...
- OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Java接口调用OpenCV的示例
转自: http://blog.csdn.net/yanzi1225627/article/details/16917961 开发环境:windows+ADT Bundle+CDT+OpenCV-2 ...
随机推荐
- apiCloud 浏览图片
点击链接查看api详情 https://docs.apicloud.com/Client-API/Func-Ext/photoBrowser var photoBrowser = api.requir ...
- thinkphp5的生命周期
1.入口文件 虚拟主机目录/public/index.php 2.引入启动文件 虚拟主机目录/thinkphp/start.php 3.运行App下面的run方法 虚拟主机目录/thinkphp/li ...
- python 查看文件名和文件路径
查看文件名和文件路径 1 >>> import os 2 >>> url = 'https://images0.cnblogs.com/i/311516/20140 ...
- 安装sql 2008步骤以及所遇到的问题
下载网址:http://www.xiazaiba.com/html/4610.html 安装步骤: 1. 在Windows7操作系统系,启动Microsoft SQL 2008安装程序后,系统兼容性 ...
- PAT 1035 Password
1035 Password (20 分) To prepare for PAT, the judge sometimes has to generate random passwords for ...
- JS实现下拉单的二级联动
因工作需要,做了一个下拉单的二级联动. 第一级是固定的选项,有A.B两个选项,第二级的选项随着第一级选项的变化而变化. 一开始是这样的: HTML代码 <html> <head> ...
- Python的字典dict和set
Python内置了字典:dict的支持,dict全称dictionary: 表达式为dict{key,value} 使用键值对来存储数据 eg: 使用dict来存储姓名和分数 d = {'bob':2 ...
- tf.expand_dims 来增加维度
主要是因为tflearn官方的例子总是有embeding层,去掉的话要conv1d正常工作,需要加上expand_dims network = input_data(shape=[None, 100] ...
- 浅谈XXE漏洞攻击与防御——本质上就是注入,盗取数据用
浅谈XXE漏洞攻击与防御 from:https://thief.one/2017/06/20/1/ XML基础 在介绍xxe漏洞前,先学习温顾一下XML的基础知识.XML被设计为传输和存储数据,其焦点 ...
- Qt画笔实现折线图
参考:https://www.cnblogs.com/lsgxeva/p/7821550.html效果图: void BrokenLine::paintEvent(QPaintEvent *event ...