第六章 面对象编程进阶.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java语言程序设计 安徽工业大学现代教育技术中心 张小银 javazxy@163.com 第六章 面向对象编程进阶 本章学习目标: 1、包 2、继承 3、访问控制 4、方法重写、重载 5、多态性 6、关键字super、static、final 包 为便于管理大型软件系统中数目众多的类,解决类的命名冲突问题,Java引入包(package)机制,提供类的多重命名空间。 package语句 1)package语句作为Java源文件的第一条语句,批明了该文件中定义的类所在的包。(若缺省该语句,则指定为无名包)。 2)语法格式: package pkg1[.pkg2[.pkg3…]]; // 3)用法举例: 例 6-1 创建包 package p1; public class Test{ public void display(){ System.out.println(in method display()); } } 编绎和生成包 1)Java编绎器把包对应于文件系统的目录管理,package语句中,用”.”来指明包(目录)的层次; 2)如果在程序Test.java中已定义了包pl,编绎时采用javac Test.java 则编绎器会在当前目录下生成Test.class文件,再在适合位置(destpath目录)手动创建一个名为pl的子目录 javac –d destpath Test.java 则编绎器会自动在destpath目录下建立一个子目录pl,并将生成的.class文件都放到destpath/pl下。 import语句 1)为使用定义在不同包中的Java类,需用import语句来引入所需要的类。 2)语法格式: import pkg1[.pkg2…].(classname|*); 3)用法举例: 例 6-2 导入和使用有名包中的类 Test.java: package p1; public class Test{ public void m1(){ System.out.println(In class Test, method m1 is running!); } } TestPackage.java: import p1.Test; //或 import p1.*; public class TestPackage{ public static void main(String args[]){ Test t = new Test(); t.m1(); } } 例 6-3 导入同一个包中的类 A.java: package mz; public class A{ public void ma(){System.out.println(in class A);} } B.java: package mz; public class B{ public void mb(){ A a = new A(); a.ma(); } } 相关说明 由于JDK的java.lang包中的类经常被用到,如String类、System类等,编绎器在编绎.java源文件时自动为我们引入了java.lang包,因此不必显示引入就可该包中的类,而要使用JDK其它包中的类,则必须使用import语句显示引入。参见例3-13和例5-7等。JDK类库中的类数目众多并以Java归档文件(后缀为.jar)形式存在,主要包括:”JDK_HOME\lib\dt.jar”、 ”JDK_HOME\lib\tools.jar”等。 其中主要的Java系统类均包含在rt.jar文件中(可解压后查看其中包含的.class文件)。这些.jar文件在编绎和运行时被系统自动搜索,不必显式引入。 Java包特性 1)一个类如果未声明为public的,则只能在其所在包中被使用,其它包中的类即使在源文件中使用import语句也无法引用它。 2)可以不在源文件开头使用import语句导入要使用的有名包中的类,而是在程序代码中每次用到该类时都给其完整的包层次,例如: public class TestPackage{ public static void main(String args[]){ p1.Test t = new p1.Test(); //每次用到时给出包层次 t.m1(); } } 例 6-4 使用打包的应用程序类 package p1; public class Test{ public

文档评论(0)

书是爱的奉献 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档