- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、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
您可能关注的文档
- 高等数学同济六版第7章微分方程ExerciseClass7.ppt
- 高等数学复习课件CH10—5.ppt
- 高等数学多媒体教学课件13.ppt
- 高等数学全微分教学课件.ppt
- ch6国际直接投资和跨国公司的发展.ppt
- ch5放大电路的频率响应-高频等效模型2-多级频率响应.ppt
- 高等数学多媒体教学课件11.ppt
- 高等数学复习课件CH12—1.ppt
- ch5数组和广义表(冲突STEVEN—PC2006—08—2517—10—14).ppt
- 高等数学多媒体教学课件1.ppt
- 5.3.1函数的单调性(教学课件)--高中数学人教A版(2019)选择性必修第二册.pptx
- 部编版道德与法治2024三年级上册 《科技提升国力》PPT课件.pptx
- 2.7.2 抛物线的几何性质(教学课件)-高中数学人教B版(2019)选择性必修第一册.pptx
- 人教部编统编版小学六年级上册道德与法治9 知法守法 依法维权(第一课时)课件.pptx
- 三年级上册品德道德与法治《学习伴我成长》.pptx
- 部编版小学道德与法治六年级上册6 人大代表为人民 课件.pptx
- 部编版小学道德与法治六年级上册1感受生活中的法律第一课时课件.pptx
- 2.5.2圆与圆的位置关系(教学课件)-高中数学人教A版(2019)选择性必修第一册.pptx
- 2.5.1直线与圆的位置关系-(教学课件)--高中数学人教A版(2019)选择性必修第一册.pptx
- 14.1.1 同底数幂的乘法(教学课件)-初中数学人教版八年级上册.pptx
文档评论(0)