- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级程序设计语言(Java版)6接口及包
第6章 接口和包;目录;6.1 接口;看一个生活中的例子,现实世界中存在各种各样的动物,如:老虎、鱼、鸟、乌龟等,“动物”这两个字表示的只是能够运动、有生命个体的特性,但不能反映出无以计数的各种各样动物的具体情况,我们把上面提到的动物都看作不同的类,而这些类都继承了“动物”这个接口。
如图6-1生活中接口的继承:;动物;6.1.1 接口的定义
接口的定义包括接口声明部分和接口体部分。定义接口的关键字是interface,一般格式如下:
interface 接口名 [ extends父类接口名列表 ]
{
接口体;
}
接口的定义除了关键字以外和类相似,因为接口也是一中特殊的类,因此,接口也具有继承性。;【实例6-1】接口的定义:
?
interface Sortable {
// 定义一个接口
int Compare(Sortable s);
}
?
class Sort {
// 定义一个排序类
public static void SelectSort(Sortable a[]) {
int i, j, k;
Sortable temp;
?
for (i = 0; i a.length - 1; i++) {
k = i;
for (j = i + 1; j a.length; j++) {
if(a[k].Compare(a[j])0)
k = j;
}
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
}
;6.1.2 接口的实现
【实例6-2】ImplementsTest1.java
interface Animal{
int AGE = 4;
void run();
}
class Dog implements Animal{
//使用接口定义的常量赋值
int age = AGE;
//实现接口中的抽象方法
public void run(){
System.out.println(age: +age);
}
}
class Husky extends Dog{
//覆盖Dog中的方法
public void run(){
System.out.println(run);
}
};public class ImplementsTest1{
public static void main(String args[]){
Husky husky = new Husky();
//自动类型转换
makeRun(husky);
Dog dog = new Dog();
makeRun(dog);
}
public static void makeRun(Animal animal){
animal.run();
}
}
?
运行结果:
run
age: 4
;6.1.4 比较接口和抽象类
接口和抽象类都位于继承树的上层,它们有很多相似之处。
首先,它们都不能被实例化。
其次,都代表了系统的抽象层。
除此之外,它们都包含抽象方法,这些抽象方法用于描述系统能提供哪些服务,但不提供具体的实现。
;接口和抽象类的区别:
在接口中只能包含抽象方法,但是在抽象类中可以为部分方法提供默认的实现,这样就不必在子类中重复实现它们。
接口被公布,就必须非常稳定,因为随意在接口中添加抽象方法,会影响到所有的实现类。而抽象类不同,在抽象类中允许实现方法,因此可以扩展抽象类,不会对它的子类造成影响。
接口的好处在于,一个类可以实现多个接口,但是一个类只能继承一个直接的父类,这个父类可能是抽象类。
;6.2 包;6.2.2 Java中的包
Java系统为用户提供了很多常用的包,可以通过直接引用来使用这些包,下面是常用的包,如表6-1 Java中常用API包:;6.2.3 包的创建
1)创建文件夹
首先要创建文件夹和子文件夹;
文件夹创建好以后,根据需要应该继续创建若干子文件夹。
2)创建并编辑Java文件
所有的文件夹创建好以后,下面要做的是创建Java文件;
Java文件创建好以后需要对其进行编辑。
;6.2.4 包的引用
使用import语句可以引入包中的类。在编写源文件时,除了自己编写类外,经常要引用Java提供的类,这些类在不同的包中。学习Java时,使用已经存在的类,避免一切从头开始,这是面向对象编程的一个重要方面。
import语句位于package语句之后,类定义之前,其使用一般格式如下:
import package.(类名);
如果想要引入一个包中的全部类,可以用*代替类名,如:
import package
文档评论(0)