当你定义了一个接口,你也定义了一种引用数据类型(reference data type).你可以在任何可以使用其他数据类型名的地方使用接口名称.如果你定义了一个接口类型的变量,你只能用实现了这个接口的类的实例来给他赋值.
例如,有一个在两个对象之中找出最大的方法,每一个对象都必须从实现了Relatable的类实例化:
public Object findLargest(Object object1, Object object2) {
Relatable obj1 = (Relatable)object1;
Relatable obj2 = (Relatable)object2;
if ( (obj1).isLargerThan(obj2) > 0)
return object1;
else
return object2;
}
把object1转换成Relatable类型,他才能调用isLargerThan方法.
如果你的许多类都实现了Relatable,这些从哪些类实例化的对象都可以通过findLargest()方法来比较--两个对象必须是同一个类的实例.同样,他们也可以通过下面的方法进行比较:
public Object findSmallest(Object object1, Object object2) {
Relatable obj1 = (Relatable)object1;
Relatable obj2 = (Relatable)object2;
if ( (obj1).isLargerThan(obj2) < 0)
return object1;
else
return object2;
}
public boolean isEqual(Object object1, Object object2) {
Relatable obj1 = (Relatable)object1;
Relatable obj2 = (Relatable)object2;
if ( (obj1).isLargerThan(obj2) == 0)
return true;
else
return false;
}
不管他们的类继承是什么样子,这些方法对每个"相关的"对象起作用.
分享到:
相关推荐
数据库课程设计1、JavaSE:Java入门.pdf1、JavaSE:Java入门.pdf1、JavaSE:Java入门.pdf1、JavaSE:Java入门.pdf1、JavaSE:Java入门.pdf1、JavaSE:Java入门.pdf1、JavaSE:Java入门.pdf1、JavaSE:Java入门.pdf1...
01_JavaSE面试题:自增变量
05_JavaSE面试题:递归与迭代
02_JavaSE面试题:单例设计模式
JavaSE+JavaEE企业级开发 全程笔记免费下载,内容详尽,doc文档,共173页,六号字体,双栏排版。 *、Java 基础, *、web, *、数据库(Mysql Oracle jdbc Hibernate hql/sql), *、JSP, *、Ajax *、Struts, *、...
李兴华 javaSE 视频教程 笔记 pdf
04_JavaSE面试题:方法的参数传递机制
06_JavaSE面试题:成员变量与局部变量
03_JavaSE面试题:类初始化和实例初始化等
思维导图:含括多线程概念,线程创建开启方式,线程安全,线程状态及常见问题
这是自己用了两个星期完成的仓库管理系统,用了JavaSE的Swing技术,对于初学者来说绝对是一个很优秀的案例。里面有视频教程,是自己的录像,肯定会对大家有很大的帮助。也有软件的说明文档。
这里文件里的内容适合Java初学者,里边包含了接口的概念以及相关的用法,这也是小编在刚开学学习JavaSE时记录的一些笔记,里面的内容非常适合JavaSE入门者学习,都是浅显易懂的话语,没有太多的官方话,绝对是你初学...
最全的javaSE 教程,包含Java语言基础、流程控制、函数、数组、对象、修饰符、接口、内部类、集合、异常处理、多线程、IO框架、反射、OOAO初步等基础知识点汇总
JavaSE基础教程(新手必读) JavaSE基础教程(新手必读)
JavaSE基础教程,功能强大,是一款非常好的工具,操作方便,效果好
JavaSE基础入门视频教程33天之(24),有利于没有基础的人学习,学精后工资10K以上。
三年JavaEE开发积累的那些代码之一:JavaSE篇 有什么? 1)自己写的例子:或是为了项目中应用写的demo,或是为了学习某项技术写的demo。 2)网上下载的例子:或改过或没改过,或完善过或原封没动。 没什么? 1)公司...
javase基础 ml教程 javase基础 ml教程 javase基础 ml教程 javase基础 ml教程 javase基础 ml教程
javase培训教程(初级慧桥)javase培训教程(初级慧桥)javase培训教程(初级慧桥)