版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 接口和包,Java接口的定义与继承 Java接口的实现 Java接口与类的关系,特别是接口与抽象类的区别 Java包的声明、创建和使用方法 JAR命令的用法,5.1.1 接口 Java不支持多继承性,也就是一个类只能有一个父亲。单继承性使Java易于管理,但为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口。 接口的定义 接口的定义包括接口声明和接口体。Java使用关键字interface声明接口,格式如下: 修饰符 interface 接口名 extends 父接口列表/接口声明 接口体 , 接口的实现 一个类通过使用关键字implements实现一个或多个接口。如果使
2、用多个接口,用逗号隔开接口名,格式如下: 类修饰符class 类名extends 父类名 implements 接口列表/类声明 ,例如: interface Information /定义接口 String college=清华大学; /接口常量 void setName(String name); /接口方法 String getName(); interface Course String professional=计算机应用; void setCourse(String course); String getCourse(); ,/实现接口 public class Teacher i
3、mplements Information,Course String name,course; /重写接口方法,注意不要丢掉public public void setName(String name) =name; public String getName() return 教师姓名:+name; public void setCourse(String course) this.course=course; public String getCourse() return 主讲课程:+course; ,public static void main(String ar
4、gs) Teacher t=new Teacher(); t.setName(张强); t.setCourse(Java程序设计); System.out.println(t.getName(); /使用接口常量 System.out.println(所在院校:+t.college); System.out.println(技术专业:+fessional); System.out.println(t.getCourse(); , 接口的继承 接口支持多继承,子接口可以继承父接口成员,当一个非抽象类实现一个子接口时,它必须实现所有接口(包含父接口)的所有方法。,例如: interfac
5、e Information /定义接口 String college=清华大学; /接口常量 void setName(String name); /接口方法 String getName(); interface Course extends Information /接口的继承 String professional=计算机应用; void setCourse(String course); String getCourse(); ,/实现接口 public class Teacher implements Course String name,course; /实现父接口的方法 publ
6、ic void setName(String name) =name; public String getName() return 教师姓名:+name; public void setCourse(String course) this.course=course; public String getCourse() return 主讲课程:+course; public static void main(String args) Teacher t=new Teacher(); t.setName(张强); t.setCourse(Java程序设计); System.o
7、ut.println(t.getName(); /使用接口常量 System.out.println(所在院校:+t.college); System.out.println(技术专业:+fessional); System.out.println(t.getCourse(); , 接口回调 接口回调是指可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类实现的接口中的方法。,例如: interface Information /定义接口 String college=清华大学; /接口常量 void setName(String name)
8、; /接口方法 String getName(); interface Course String professional=计算机应用; void setCourse(String course); String getCourse(); ,/实现接口 public class Teacher implements Information,Course String name,course; /实现接口的方法 public void setName(String name) =name; public String getName() return 教师姓名:+name;
9、public void setCourse(String course) this.course=course; public String getCourse() return 主讲课程:+course; ,public static void main(String args) Teacher t=new Teacher(); Information info=t; /接口回调 Course c=t; /调用Teacher类实现的方法 info.setName(张强); c.setCourse(Java程序设计); System.out.println(info.getName(); /使
10、用接口常量 System.out.println(所在院校:+t.college); System.out.println(技术专业:+fessional); System.out.println(c.getCourse(); , 接口和抽象类,表5.1 接口和抽象类的区别,5.1.2 包 包的概念 Java系统中存在大量的类和接口,为了更好地组织它们,Java提供了包机制,包是类和接口的组织方式,包类似于操作系统中的文件夹,将相近功能的类打入同一包,将不同功能的类打入不同的包内,实现类的分类组织。, 包的声明 使用关键字package声明一个包,格式如下: package 包名;
11、例如: package people; 声明包语句必须添加在源程序的第一行,表示该程序文件声明的全部类都属于这个包,包的名字一般都是由小写单词组成。, 包的创建 手动创建包 首先编译源文件,然后在当前目录创建一个文件夹,文件夹的名称与包名一致,然后将生成的字节码文件放入该文件夹中,此时运行Java程序命令修改改为:java 包名.类名。,例如: package people; /声明包 interface Information String college=清华大学; void setName(String name); String getName(); public class Peop
12、le implements Information protected String name; protected int age,number; public People(int age,int number) this.age=age; this.number=number; public void setName(String name) =name; public String getName() return 姓名:+name; public static void main(String args) People p=new People(40,10000);
13、 p.setName(张强); System.out.println(工号:+p.number); System.out.println(p.getName(); 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语句后,例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业筹资决策管理制度
- 2026上海市嘉定区华亭镇残疾人服务社招聘1人笔试模拟试题及答案解析
- 2026辽宁省辽水集团所属辽宁北方环境保护有限公司招聘6人考试参考试题及答案解析
- 2026上海市松江区教育学院附属实验学校教师招聘考试参考题库及答案解析
- 2026年贵州城市职业学院单招职业适应性测试题库附答案解析
- 企业内部巡察制度
- 房产中介内部收款制度
- 单位内部网络安全自查制度
- 中小企业内部财务制度
- 小区停车场内部管理制度
- 过敏性休克抢救指南2025版
- 塔式电风扇推广课件
- 2025年安全员B证理论试题及答案(1000题)
- 物业安全知识培训计划课件
- 饲料原料玉米培训课件
- 春季四防安全知识培训课件
- 《机器学习》课件-第1章 机器学习概述
- 国企纪检内部竞聘笔试题库及答案
- 雪地上的足迹科学课件
- 停车场防盗安全应急预案(3篇)
- 医疗废物培训课件
评论
0/150
提交评论