Java程序设计基础与实践 第5章 接口和包.ppt
-
资源ID:67348882
资源大小:146KB
全文页数:23页
- 资源格式: PPT
下载积分:16金币
快捷下载

会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
Java程序设计基础与实践 第5章 接口和包.ppt
第5章 接口和包Java接口的定义与继承Java接口的实现Java接口与类的关系,特别是接口与抽象类的区别Java包的声明、创建和使用方法JAR命令的用法5.1.1 接口Java不支持多继承性,也就是一个类只能有一个父亲。单继承性使Java易于管理,但为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口。接口的定义接口的定义包括接口声明和接口体。Java使用关键字interface声明接口,格式如下:修饰符 interface 接口名 extends 父接口列表/接口声明 接口体 接口的实现一个类通过使用关键字implements实现一个或多个接口。如果使用多个接口,用逗号隔开接口名,格式如下:类修饰符class 类名extends 父类名 implements 接口列表/类声明 例如:例如:interface Information /interface Information /定义接口定义接口String college=String college=清华大学清华大学;/接口常量接口常量void setName(String name);/void setName(String name);/接口方法接口方法String getName();interface CourseString professional=String professional=计算机应用计算机应用;void setCourse(String course);String getCourse();/实现接口实现接口public class Teacher implements Information,CourseString name,course;/重写接口方法,注意不要丢掉重写接口方法,注意不要丢掉publicpublic void setName(String name)this.name=name;public String getName()return return 教师姓名:教师姓名:+name;public void setCourse(String course)this.course=course;public String getCourse()return return 主讲课程:主讲课程:+course;public static void main(String args)Teacher t=new Teacher();t.setName(t.setName(张强张强);t.setCourse(Javat.setCourse(Java程序设计程序设计);System.out.println(t.getName();/使用接口常量使用接口常量System.out.println(System.out.println(所在院校:所在院校:+t.college);System.out.println(System.out.println(技术专业:技术专业:+t.professional);System.out.println(t.getCourse();接口的继承 接口支持多继承,子接口可以继承父接口成员,当一个非抽象类实现一个子接口时,它必须实现所有接口(包含父接口)的所有方法。例如:例如:interface Information /interface Information /定义接口定义接口String college=String college=清华大学清华大学;/接口常量接口常量void setName(String name);/void setName(String name);/接口方法接口方法String getName();interface Course extends Information/interface Course extends Information/接口的继承接口的继承String professional=String professional=计算机应用计算机应用;void setCourse(String course);String getCourse();/实现接口实现接口public class Teacher implements CourseString name,course;/实现父接口的方法实现父接口的方法public void setName(String name)this.name=name;public String getName()return return 教师姓名:教师姓名:+name;public void setCourse(String course)this.course=course;public String getCourse()return return 主讲课程:主讲课程:+course;public static void main(String args)Teacher t=new Teacher();t.setName(t.setName(张强张强);t.setCourse(Javat.setCourse(Java程序设计程序设计);System.out.println(t.getName();/使用接口常量使用接口常量System.out.println(System.out.println(所在院校:所在院校:+t.college);System.out.println(System.out.println(技术专业:技术专业:+t.professional);System.out.println(t.getCourse();接口回调 接口回调是指可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类实现的接口中的方法。例如:例如:interface Information /interface Information /定义接口定义接口String college=String college=清华大学清华大学;/接口常量接口常量void setName(String name);/void setName(String name);/接口方法接口方法String getName();interface Course String professional=String professional=计算机应用计算机应用;void setCourse(String course);String getCourse();/实现接口实现接口public class Teacher implements Information,CourseString name,course;/实现接口的方法实现接口的方法public void setName(String name)this.name=name;public String getName()return return 教师姓名:教师姓名:+name;public void setCourse(String course)this.course=course;public String getCourse()return return 主讲课程:主讲课程:+course;public static void main(String args)Teacher t=new Teacher();Information info=t;/Information info=t;/接口回调接口回调Course c=t;/调用调用Teacher类实现的方法类实现的方法info.setName(info.setName(张强张强);c.setCourse(Javac.setCourse(Java程序设计程序设计);System.out.println(info.getName();/使用接口常量使用接口常量System.out.println(System.out.println(所在院校:所在院校:+t.college);System.out.println(System.out.println(技术专业:技术专业:+t.professional);System.out.println(c.getCourse();接口和抽象类接接 口口抽象类抽象类静态常量静态常量一般变量、常量、静态变量、静态常量一般变量、常量、静态变量、静态常量抽象方法抽象方法成员方法、静态方法、抽象方法、抽象静态方法成员方法、静态方法、抽象方法、抽象静态方法使用关键字使用关键字interface使用关键字使用关键字abstract表表5 5.1 接口和抽象类的区别接口和抽象类的区别5.1.2 包 包的概念Java系统中存在大量的类和接口,为了更好地组织它们,Java提供了包机制,包是类和接口的组织方式,包类似于操作系统中的文件夹,将相近功能的类打入同一包,将不同功能的类打入不同的包内,实现类的分类组织。包的声明 使用关键字package声明一个包,格式如下:package 包名;例如:package people;声明包语句必须添加在源程序的第一行,表示该程序文件声明的全部类都属于这个包,包的名字一般都是由小写单词组成。包的创建 手动创建包 首先编译源文件,然后在当前目录创建一个文件夹,文件夹的名称与包名一致,然后将生成的字节码文件放入该文件夹中,此时运行Java程序命令修改改为:java 包名.类名。例如:例如:package people;/package people;/声明包声明包interface Information String college=String college=清华大学清华大学;void setName(String name);String getName();public class People implements Informationprotected String name;protected int age,number;public public People(int age,int number)this.age=age;this.number=number;public void setName(String name)this.name=name;public String getName()return return 姓名:姓名:+name;public static void main(String args)People p=new People(40,10000);p.setName(p.setName(张强张强);System.out.println(System.out.println(工号:工号:+p.number);System.out.println(p.getName();System.out.println(System.out.println(年龄:年龄:+p.age);自动创建包Java中使用javac d命令将类文件生成到指定的路径,格式如下:javac d 类文件生成的路径 源文件名如果将类文件生成在当前路径的包中,“类文件生成的路径”可以使用“.”代替。编译上面程序的命令:javac -d .People.java解释上面程序的命令:java people.People 包的使用 如果某个类不再当前类的目录下,则使用包名.类名的方式使用类,例如,如果People类不在当前类目录下,其目录为people,则使用People类的方法为:people.People=new people.People(40,10000);如果要在程序中直接引用类名,则必须使用import语句,例如:import people.People;如果要导入包中所有的类,可以使用“*”,例如:import people.*;import语句应该在程序的package语句后,例如:package teacher;import people.People;/导入people包中的类People Java提供的常用包java.lang包java.io包java.util包java.awt包java.swing包java.applet包包java.sql包 JAR文件包JAR命令的用法如下:jar ctxuvfm0M jar-文件 manifest-文件-C 目录 文件名列表