Java接口interface

1、多个无关的类可以实现同一个接口。

2、一个类可以实现多个无关的接口。

3、与继承关系类似,接口与实现类之间存在多态性。

接口(interface)是抽象方法和常量值的定义的集合,从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。实现一个接口,用implements ,实现一个接口必须重写接口中的所有方法。

接口定义的举例:

public interface Runner{
public static final int id=1;
public void start();
public void run();
public void stop();
}

接口的特性:

1、接口可以多重实现,即一个类可以实现多人接口。

2、接口中声明的属性默认为public static final ;也只能是public static final 。

3、接口中只能定义抽象方法,而且这些方法默认为public ,也只能是public 。

4、接口可以继承其它的接口,并添加新的属性和抽象方法。

接口的举例:

interface Singer{
public void sing();
public void sleep();
}
Class Student implements Singer{
private String name;
Student(String name){
this.name=name;
}
public vod study(){
System.out.println("studying");
}
public Sting getName(){
return name;
}
public void sing(){
System.out.println("Student is singing");
}
public void sleep(){
System.out.println("student is sleeping");
}
}

接口与实现类之间的多态性举例:


public class Test{
public static void main(String arg[]){
//Singer是接口,在上面已经定义了。
//student是接口Singer有实现类。
Singer s1=new student("le");
s1.sing();
//s1此时调用的是student中的sing()方法。
s1.sleep();
}
}

接口的综合举例:


public interface Valuable{
public double getMoney();
}
interface Protectable{
public void beProtected();
}
//接口与接口之间可以继承
interface A extends Protectable{
void m();
}
abstract class Animal{
private String name;
abstract void enjoy();
}
//继承一个类要重与父类中所有的方法,或者是实现一个接口要重写接口中的所有方法。
class GoldenMonkey extends Animal implements Valuable,Protectable{
public double getMoney(){
return 10000;
}
public void beProtectable(){
System.out.println("live in the room");
}
public void enjoy(){
}
public void test(){
Valuable v=new GoldenMonkey();
v.getMonen();
Protectable p=(Protectable)v;
p.beProtectable();
}
}
class Hen implements A{
public void m(){}
public void beProtected(){}
}

Java接口interface的更多相关文章

  1. Java——接口interface

    3.5接口interface ①有时必须从几个类中派生出一个子类,继承它们所有的属性和方法.但是,Java不支持多重继承.有了接口,就可以得到多重继承的效果. ②接口(interface)是抽象方法和 ...

  2. 浅谈Java接口(Interface)

    浅谈Java接口 先不谈接口,不妨设想一个问题? 如果你写了个Animal类,有许多类继承了他,包括Hippo(河马), Dog, Wolf, Cat, Tiger这几个类.你把这几个类拿给别人用,但 ...

  3. Java 接口 interface implements

    接口定义了一系列的抽象方法和常量,形成一个属性集合. 接口定义完成后任何类都可以实现接口,而且一个类可以实现多个接口. 实现接口的类必须实现接口中定义的抽象方法,具体实现细节由类自己定义.可以说接口定 ...

  4. 详解java接口interface

    引言 接口这个词在生活中我们并不陌生. 在中国大陆,我们可以将自己的家用电器的插头插到符合它插口的插座上: 我们在戴尔,惠普,联想,苹果等品牌电脑之间传输数据时,可以使用U盘进行传输. 插座的普适性是 ...

  5. Java接口interface,匿名内部类

    接口 1.接口内部为 常量+公用的抽象方法.类必须实现接口中的所有方法 2.接口的语法格式:不写abstract会自动添加,可以继承多个接口 修饰符不能使private,protected [修饰符] ...

  6. java接口(interface)

    引入:抽象类是从多个类中抽象出来的模板,若要将这种抽象进行得更彻底,就得用到一种特殊的“抽象类”→ 接口; 例子: 生活中听说过的USB接口其实并不是我们所看到的那些插槽,而是那些插槽所遵循的一种规范 ...

  7. Java 接口和抽象类差别

    原文:http://blog.csdn.net/sunboard/article/details/3831823 1.概述 一个软件设计的好坏,我想非常大程度上取决于它的总体架构,而这个总体架构事实上 ...

  8. Java 接口和抽象类区别(写的很好,转了)

    原文:http://blog.csdn.net/sunboard/article/details/3831823 1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是 ...

  9. Java 接口和抽象类--缺省模式

    一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法和一些具体 ...

随机推荐

  1. ubuntu14.04 python2.7 安装配置OpenCV3.0

    环境:ubuntu14.04  python2.7 内容:安装并配置OpenCV3.0 今天按照OpenCV官网上的步骤装了OpenCV但是,装好之后python提示“No module named ...

  2. ACM 饭卡

    Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负) ...

  3. DuKBitmapImages 图片压缩处理技术

    Android图片压缩上传系列 *压缩中的问题: --图片压缩上如果存在问题,势必造成消耗大量的流量,下载图片的速度慢等影响产品性能,那么如何解决?请看下面: 压缩图片一共多少张?一起压缩?分开压缩? ...

  4. Spring Security安全框架入门篇

    一.Spring Security相关概念 1.1..Spring Security介绍: Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安 ...

  5. Docker与容器

    Docker介绍 1. Docker 主要解决什么问题 Docker 对外宣称的是Build.Ship 和Run,Docker 要解决的核心问题就是快速地干这三件事情.它通过将运行环境和应用程序打包到 ...

  6. The Zen Programmer

    专注 何为专注 关于 休息 怎么睡觉 心无杂念 我的体会 自我分析 初学者心态 无我 不要设置职业目标 敏事慎言 正念 做自己的老板 玩物养志 结语 最近在研读Christian Grobmeier ...

  7. 错误问题:OpenGL version to old,GLViewinitWithRect(const stdbasic_stringchar,stdchar_traitschar,stdalloca

     1电脑装成Linux之后,在Linux里面装虚拟机运行cocos2d-x-3.2时报如下错误: plan3d.exe!cocos2d::GLView::initWithRect(const st ...

  8. JAVA进阶之旅(二)——认识Class类,反射的概念,Constructor,Field,Method,反射Main方法,数组的反射和实践

    JAVA进阶之旅(二)--认识Class类,反射的概念,Constructor,Field,Method,反射Main方法,数组的反射和实践 我们继续聊JAVA,这次比较有意思,那就是反射了 一.认识 ...

  9. linux配置java环境变量 转过几个,这个最详细和靠谱

    一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录,之后会在当前目录下生成一个jdk1.6.0_14目录二. 需要配置的环境变量 1. PATH环境 ...

  10. 查看apk签名信息

    经常在注册开发者的时候会遇到要求填写申请应用的应用签名: 有两种很方便的方法: 1.如果没有源码或者没有打开eclipse,直接下载这个应用应用下载链接 使用截图,只要把包名输入,自动会出现签名信息. ...