接口

1、接口的定义格式

interface 接口名{

}
interface :接口的关键字
implements:实现接口的关键字

2、接口的作用

1.程序的解耦.(低耦合)
        2.定义了约束规范
        3.拓展了功能

3、接口要注意的事项

1.接口是一个特殊的类
2.接口的成员变量的修饰符默认为:public static final. 那么接口中的成员变量都是常量
3.接口中的方法都是抽象方法,默认修饰符为:public abstract.
4.接口是不能创建对象的
5.接口没有构造方法
6.接口是给类实现使用的,非抽象类实现一个接口时,必须要把接口中的所有方法都实现

 interface A{
//成员变量
public static final int i=10; //接口中默认有:public static final修饰变量;最终都是常量
//成员函数
public void print();
}
//Demo11就实现了A接口
class Demo11 implements A{
//实现接口中的方法
public void print(){
System.out.println("hello"+"--->"+i);
}
public static void main(String[] args) {
Demo11 d=new Demo11();
d.print();
System.out.println("Hello World!");
}
}

运行结果

4、类与接口之间的关系

类与接口之间的关系:实现关系 (implements)

interface A{ //接口A
//成员函数
public void print();
}
// 类(Demo11) 实现 接口(A)里面的方法
class Demo11 implements A {
  public void print(){   }
}

5、类与接口需要注意的细节

1.非抽象类实现一个接口时,必须实现接口中的所有方法
    2.抽象类实现一个接口时,可以实现也可以不实现接口中的方法
    3.一个类可以实现多个接口

 例子1

 //所有接口都是抽象的,里面的方法都是抽象方法
interface A{
public void makeMoney();
} interface C{
public void p();
} interface B extends A,C{//一个接口可以继承多个接口
public void study();
}
//Student类 含有上面三个接口中的方法
class Student implements A,B{ //一个类可以实现多个接口
public void makeMoney(){
System.out.println("java111");
};
public void study(){
System.out.println("java222");
};
public void p(){
System.out.println("java333");
}
} class Demo10 {
public static void main(String[] args) {
Student s = new Student();
s.makeMoney();
s.study();
s.p();
}
}

运行结果

 例子2

interface A{
public void makeMoney();
} interface C{
public void p();
} interface B extends A,C{//一个接口可以继承多个接口
public void study();
}
//抽象类实现一个接口时,可以实现也可以不实现接口中的方法
abstract class Student implements B{ //接口C中的P()方法没实现,也不会报错。如果Student类不是抽象类,那么上面三个接口中的方法必须都要实现,否则报错。
public void makeMoney(){ };
public void study(){ };
}

6、接口与接口关系

接口与接口关系:继承关系

 //所有接口都是抽象的,里面的方法都是抽象方法
interface A{
public void makeMoney();
} interface C{
public void p();
} interface B extends A,C{
public void study();
}

7、接口与接口需要注意的事项

1.一个接口可以继承多个接口.

原创作者:DSHORE

作者主页:http://www.cnblogs.com/dshore123/

原文出自:http://www.cnblogs.com/dshore123/p/8873647.html

欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

 
 
 
G
M
T
 
检测语言
世界语
中文简体
中文繁体
丹麦语
乌克兰语
乌兹别克语
乌尔都语
亚美尼亚语
伊博语
俄语
保加利亚语
僧伽罗语
克罗地亚语
冰岛语
加利西亚语
加泰罗尼亚语
匈牙利语
南非祖鲁语
卡纳达语
印地语
印尼巽他语
印尼爪哇语
印尼语
古吉拉特语
哈萨克语
土耳其语
塔吉克语
塞尔维亚语
塞索托语
威尔士语
孟加拉语
宿务语
尼泊尔语
巴斯克语
布尔语(南非荷兰语)
希伯来语
希腊语
德语
意大利语
意第绪语
拉丁语
拉脱维亚语
挪威语
捷克语
斯洛伐克语
斯洛文尼亚语
斯瓦希里语
旁遮普语
日语
格鲁吉亚语
毛利语
法语
波兰语
波斯尼亚语
波斯语
泰卢固语
泰米尔语
泰语
海地克里奥尔语
爱尔兰语
爱沙尼亚语
瑞典语
白俄罗斯语
立陶宛语
索马里语
约鲁巴语
缅甸语
罗马尼亚语
老挝语
芬兰语
苗语
英语
荷兰语
菲律宾语
葡萄牙语
蒙古语
西班牙语
豪萨语
越南语
阿塞拜疆语
阿尔巴尼亚语
阿拉伯语
韩语
马其顿语
马尔加什语
马拉地语
马拉雅拉姆语
马来语
马耳他语
高棉语
齐切瓦语
  世界语
中文简体
中文繁体
丹麦语
乌克兰语
乌兹别克语
乌尔都语
亚美尼亚语
伊博语
俄语
保加利亚语
僧伽罗语
克罗地亚语
冰岛语
加利西亚语
加泰罗尼亚语
匈牙利语
南非祖鲁语
卡纳达语
印地语
印尼巽他语
印尼爪哇语
印尼语
古吉拉特语
哈萨克语
土耳其语
塔吉克语
塞尔维亚语
塞索托语
威尔士语
孟加拉语
宿务语
尼泊尔语
巴斯克语
布尔语(南非荷兰语)
希伯来语
希腊语
德语
意大利语
意第绪语
拉丁语
拉脱维亚语
挪威语
捷克语
斯洛伐克语
斯洛文尼亚语
斯瓦希里语
旁遮普语
日语
格鲁吉亚语
毛利语
法语
波兰语
波斯尼亚语
波斯语
泰卢固语
泰米尔语
泰语
海地克里奥尔语
爱尔兰语
爱沙尼亚语
瑞典语
白俄罗斯语
立陶宛语
索马里语
约鲁巴语
缅甸语
罗马尼亚语
老挝语
芬兰语
苗语
英语
荷兰语
菲律宾语
葡萄牙语
蒙古语
西班牙语
豪萨语
越南语
阿塞拜疆语
阿尔巴尼亚语
阿拉伯语
韩语
马其顿语
马尔加什语
马拉地语
马拉雅拉姆语
马来语
马耳他语
高棉语
齐切瓦语
         
 
 
 
文本转语音功能仅限200个字符
 
  选项 : 历史 : 反馈 : Donate 关闭

java基础13 接口(及关键字:interface、implements)的更多相关文章

  1. Java基础-面向接口(interface)编程

    Java基础-面向接口(interface)编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的“类 ...

  2. Java基础13:反射与注解详解

    Java基础13:反射与注解详解 什么是反射? 反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. Orac ...

  3. Java基础十--接口

    Java基础十--接口 一.接口的定义和实例 /* abstract class AbsDemo { abstract void show1(); abstract void show2(); } 8 ...

  4. java基础之接口(抽象类与接口的区别)

    概述 猫狗案例,我们想想狗一般就是看门,猫一般就是作为宠物了,对不.但是,现在有很多的驯养员或者是驯的,这应该属于经过特殊的培训训练出来的,对不.所以,这些额外的动作定义到动物类中就不合适,也不适合直 ...

  5. Java基础13:反射详解

    本节主要介绍Java反射的原理,使用方法以及相关的技术细节,并且介绍了关于Class类,注解等内容. 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech ...

  6. Java 基础(6)——关键字 & 标识符 & 转义字符

    依然是基础的一天,看一看就好~ 关键字 之前就有说过关键字哦~ 注:关键字就是程序发明者规定的有特殊含义的单词. from Java基础(2) Java 中除了关键字以外还有暂时没有成为关键字的保留字 ...

  7. 【Java基础】接口和抽象类之间的对比

    Java 中的接口和抽象类之间的对比 一.接口 Interface,将其翻译成插座可能就更好理解了.我们通常利用接口来定义实现类的行为,当你将插座上连接笔记本的三角插头拔掉,换成微波炉插上去的时候,你 ...

  8. Java基础知识之常见关键字(1)

    static 特点: 随着类的加载而加载 优先于对象存在 被所有对象所共享 可以直接被类名调用 注意点: 静态方法只能访问静态方法 但是非静态成员可以直接访问静态成员 静态方法中不可以使用this , ...

  9. Java基础知识之常见关键字以及概念总结

    static 特点: 随着类的加载而加载 优先于对象存在 被所有对象所共享 可以直接被类名调用 使用注意: 静态方法只能访问静态成员 但是非静态成员可以直接访问静态成员 静态方法中不可用使用this, ...

随机推荐

  1. ubuntu adduser

    ubuntu adduser 添加用户 hexan 到目录 /home/hexan 下.$ sudo adduser hexan -home /home/hexan 添加一个普通用户adduser [ ...

  2. BMP格式图像读取与存储

    全局变量: 1 #include "stdafx.h" #include <windows.h> /*BMP位图数据是4字节对齐*/ #define WIDTHBYTE ...

  3. 手脱FSG v1.33

    1.载入PEID FSG v1.33 (Eng) -> dulek/xt 2.载入OD,先F8跟一会 004103E3 > BE A4014000 mov esi,fsg1_33.0040 ...

  4. [Java多线程]-Thread和Runable源码解析之基本方法的运用实例

    前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...

  5. (转)IO复用,AIO,BIO,NIO,同步,异步,阻塞和非阻塞 区别

    本文来自:https://www.cnblogs.com/aspirant/p/6877350.html?utm_source=itdadao&utm_medium=referral,非常感谢 ...

  6. NOIP模拟1

    期望得分:100+100+100=300 实际得分:94+96+97=287 T1  #6090. 「Codeforces Round #418」尘封思绪 #include<cstdio> ...

  7. Integer Numbers

    ZOJ Problem Set - 3365 Integer Numbers Time Limit: 1 Second      Memory Limit: 32768 KB      Special ...

  8. HTML5文件上传器,纯脚本无插件的客户端文件上传器---Uploader 文件上传器类

    概述 客户端完全基于JavaScript的 浏览器文件上传器,不需要任何浏览器插件,但需要和jQuery框架协同工作,支持超大文件上传,其算法是将一个超大文件切片成N个数据块依次提交给服务 端处理,由 ...

  9. 【洛谷 P3705】 [SDOI2017]新生舞会(费用流,01分数规划)

    题目链接 看到这题我想到了以前做过的一题,名字记不清了,反正里面有"矩阵"二字,然后是道二分图匹配的题. 经典的行列连边网络流. 第\(i\)行和第\(j\)列连边,费用为\(b[ ...

  10. tensorflow.nn.bidirectional_dynamic_rnn()函数的用法

    在分析Attention-over-attention源码过程中,对于tensorflow.nn.bidirectional_dynamic_rnn()函数的总结: 首先来看一下,函数: def bi ...