第九章 接口
2016-07-18 18:33
246 查看
概要
在很多人眼里,接口无非就是implements interfceA。事实上,仔细探寻接口,他有很多我们不经常用到的东西。接口在设计模式中,通过继承多个接口,能够实现多重继承的效果。除了在接口中申明方法,我们也可以在接口中定义变量,甚至是一个类。下面是这章的重点内容:1.一个接口中的方法,只能是public的,不能用private和protected修饰,否则编译器会报错。如果我们不做任何修饰,它默认是public访问权限。
2.在接口中,我们可以申明一个变量,但是这个变量隐含public static final修饰。
3.如果一个类继承了一个类和一个接口,他们有同样的方法,那么我们不需要实现接口中的这个方法,可以直接使用这个方法。
4.接口中可以定义新的接口。如果我们继承外围接口,是不需要实现内围接口的方法的。例如:
interface A{//外围接口A void display(); interface InnerInterface{//内围接口,他必须是public的,不修饰默认是public void show(); } } class Test implements A{ void display(){}//我们只需要实现A申明的方法就可以了 }
5.我们可以在一个类中定义一个接口,他可以是private的,但在类外,我们不能创建这个接口,也不能获取这个接口的任何引用,他只能作为参数传递。这样做的理由是保证这个接口的隐藏性。例如:
class A{ private interface IA{//一个私有的接口 } class UserIA implement IA{//我们继承这个接口 } IA makeInterface(){ return new UserIA();//我们通过makeInterface获取这个接口 } void useInterface(IA i){//在这个类的内部,我们有个方法使用这个接口 } } class B{ A a = new A();//初始化A //a.makeInterface();//这行我们是不能写的。 //IA ia = a.makeInterface()这样写更加错误,因为不能获得这个接口的访问权限 a.userInterfae(a.makeInterface());//我们只能作为参数传递。 } 6.如何选择应该使用接口还是使用抽象类?我们只需要看,我们是否需要看是否需要带任何方法定义和成员变量,如果要带,就是抽象类,否则是接口
相关文章推荐
- 单例模式(Singleton) 的应用场景
- 多线程的基本概念
- 第八章 多态
- C语言指针与函数之三数比较大小并排序
- leetcode 151 Reverse Words in a String (python)
- 第七章 复用类
- hadoop eclipse 插件配置使用
- 死锁的产生与解除
- 第六章 访问控制权限
- 使用Eclipse构建Maven项目 (step-by-step)
- Pig安装及本地模式测试,体验
- Android 之OkHttp get 和post
- ssh的简单配置
- 第五章 初始化与清理
- 微信公众号开发
- hdu 5534 Partial Tree【完全背包】
- Description Resource Path Location Type AndroidManifest.xml file missing!
- 如何阅读一本书 全书笔记
- web前端-boostrap图片轮播
- JS日期与字符串互转