关于JAVA接口

来源:互联网 发布:歌词有傻瓜的网络歌曲 编辑:程序博客网 时间:2023/06/05 19:01

注:写这篇博客主要是为了强化一下记忆。(本文主要摘自 阎宏老师的《java与模式》,代码是自己根据理解所写)
1:什么是接口:
一个java接口是一些方法特征的集合,这些方法特征当然是来自于具体方法,但是它们一般来自于一些在系统中不断出现的方法。接口只有方法的特征,没有方法的实现,因此这些方法在不同的地方被实现时,可以具有完全不同的行为。(摘自 《java与模式》)
2:接口是对可插入行的保证
在一个类等级结构中的任何一个类可以实现一个接口,这个接口会影响到此类的所有子类,但是不会影响到此类的任何超类,此类不得不实现这个接口所规定的方法,而其子类则可以自动继承到这些方法,当然也可以选择置换(重写)所有的这些或者一部分方法。

package com.test;/** * 父类接口 * Created by OldZhu on 2017/8/9. */public interface FatherInterfaceTest {    public void sayHello();    public final String name ="With your hand, with your feet, with your eyes, with your brain, what you touch, what you see, what you imagine, this is your world.";}
package com.test;/** * Created by OldZhu on 2017/8/9. */public interface InterfaceTest extends  FatherInterfaceTest{    public  String helloPeople(String peoplename);}
package com.test;/** * Created by OldZhu on 2017/8/9. */public class HelloInterface implements  InterfaceTest {    @Override    public String helloPeople(String peoplename) {        return "hello,"+peoplename;    }    @Override    public void sayHello() {        System.out.println("say hello");    }}
package com.test;/** * Created by OldZhu on 2017/8/9. */public class SonOfHelloInterface extends HelloInterface {    public static void main(String[] args) {      InterfaceTest hello = new SonOfHelloInterface();        System.out.println(hello.helloPeople("zys"));        hello.sayHello();        System.out.println(hello.name);        System.out.println(name);    }}
//控制台输出hello,zyssay helloWith your hand, with your feet, with your eyes, with your brain, what you touch, what you see, what you imagine, this is your world.With your hand, with your feet, with your eyes, with your brain, what you touch, what you see, what you imagine, this is your world.

3:类等级结构
java接口以及java抽象类一般用来作为一个类型等级机构的起点。
这里写图片描述
混合类型
如果一个类已经有了一个主要的超类型(可以通过继承或者实现),那么通过再次实现一个接口,这个类可以拥有一个次要的超类型,这种次要的超类型就叫做混合类型(Mixin Type)。
如:TreeMap类具有多个类型,主要是AbstractMap,Serializable是一个次要类型,表明这个实例是可以串行化的。

常见用法:
1:单方法接口(如:Runnable)
2:标识接口
无任何方法和属性的接口(如:java.io.Serializable,java.rmi.Remote)
3:常量接口
接口中的常量在具体类的使用中不需要加上接口类名就可以直接使用,这种做法被称为代码模式,被认为是错误的使用方法,不提倡使用。如上面的FatherInterfaceTest 接口中的name。
4:多方法接口

原创粉丝点击
热门问题 放学后 http://hi.baidu.com/realrice/blog/item/4e75cecb804 HRN算法python shadowrocket 蜜桃传媒 StockbrokerGrapevine 股票经纪人 股票jjr 图像金字塔 京东客服不说话怎么办 两岁宝宝说话有点结巴怎么办 孩子不敢跟外人说话怎么办? 孩子不爱跟外人说话怎么办 别人说我不说话怎么办 衣服屁股那块变亮怎么办 小孩家里说话外面不说话怎么办 2个月小宝宝便秘怎么办 3个月小宝宝便秘怎么办 微信客户不说话怎么办 一岁半宝宝便秘肛裂怎么办 网恋现在都不说话了怎么办 宝宝便秘四天了怎么办 月子里小孩吐奶怎么办 月子里的小孩吐奶怎么办 婴儿吃多了吐奶怎么办 20个月孩子便秘怎么办 一岁宝宝肛裂怎么办 婴儿吃饱了吐奶怎么办 23天新生儿吐奶怎么办 婴儿吐奶舌苔白怎么办 宝宝吐奶酸臭味怎么办? 1周岁吐奶有酸味怎么办 十多天的宝宝吐奶怎么办 未满月婴儿吐奶怎么办 2个月宝宝溢奶怎么办 四岁宝宝说话结巴怎么办 小孩说话结巴打顿怎么办 2岁宝宝突然说话结巴怎么办 2岁宝宝突然结巴怎么办 幼儿舌头起泡牙龈出血怎么办 小孩长得太快怎么办 脑出血压着神经不会说话怎么办 四岁宝宝说话有点口吃怎么办 三岁宝宝有点口吃怎么办 3岁宝宝有点口吃怎么办 三岁宝宝说话有点口吃怎么办 六岁说话重复第一个字怎么办 宝贝烧到39.5度怎么办 宝贝39度不退烧怎么办 两岁多小儿突然变得口吃怎么办