- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面象对象—接口内部类与包
JAR(Java Archive)是一种与平台无关的文档格式,用于将多个文件压缩为一个文件 JAR 文件可以说就是一个压缩的ZIP文件,与 ZIP 文件的区别有两点: 首先在 JAR 文件中,包含了一个 META-INF子目录,在该子目录中有个MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候系统自动创建的,该文件称为清单文件; 其次JAR 文件可被Java2平台识别并解释执行。 public class Outer{ //外部类 private int i, j; static int s=1; Outer(int a,int b){ i=a; j=b; } public void dis(){ System.out.println(i+ +j); } public static class Test{ //含有静态main方法的静态内部类 public static void main (String[] args){ //测试外部类 Outer t=new Outer(10,100); //创建外部类对象 t.dis(); System.out.println(s); //静态内部类可访问外部类静态成员 } } } 【例8.6】利用静态内部类调试外部类 首先编译源程序Outer.java,会产生两个class文件:Outer.class和Outer$Test.class。然后运行Outer$Test可完成对外部类的测试 Java将嵌套类分2类:嵌套顶层类(nested top-level classes)和内部类(inner classes),内部类又分为: 实例内部类(instance inner class); 本地内部类(local inner class) 匿名内部类(and anonymous inner class) 所谓顶层类就是它没有超类,如果在内部类的声明前加上static的修饰符,该内部类自动转化为顶层类。 内部类的其他特性 除了可以把内部类声明为静态的,内部类还可以可以定义为抽象类或接口,那么这个抽象类或接口必须由另一个内部类来实现。 Java还提供了本地内部类,它可以出现在任意的代码块中,包括一个方法体中或者一个for语句的代码块 如果一个本地内部类没有声明名字,这就是Java中的匿名内部类 匿名类是一种特殊的内部类,它是在一个表达式内部包含一个完整的类定义。 内部类的其他特性 §8.3 jAR文件 注意:在jdk环境下,无法把编写的java源程序打包生成可执行的exe文件,但可通过工具实现。 * 第8章 接口、内部类与包 本章目标 掌握接口的概念与定义 理解掌握接口的应用及与抽象类的区别 掌握内部类的概念与定义 理解掌握内部类与外部类的相互访问以及 内部类的特殊应用 掌握包的概念与自定义包的创建 掌握使用jar命令打包生成可执行的jar文件包 最终类的概念 如果一个类被声明为final,则意味着它不能再派生新的子类。 final class name{ } §第8章 最终类 最终方法 如果类中的方法不希望被子类修改,则可以把方法定义成最终方法。final int add( ){ } final类不能被继承 final 方法不能被覆盖。 final常量不能被修改。 §第8章 最终类 抽象方法 如果一个方法只有方法声明,而没有方法体,则该方法是抽象方法。有关键字abstract修饰。 abstract int add(int x, int y); 抽象方法在继承机制中必须被子类覆盖。除非子类中该方法也是抽象方法。 §第8章 抽象类 抽象类 包含抽象方法的类是抽象类,有abstract修饰。 abstract class A{ 成员变量; 成员方法;(可以是普通方法,也可以是抽象方法) } 抽象类不能实例化对象,所以没有构造方法。 §第8章 抽象类 接口的概念 接口主要作用是实现类似于C++类的多重继承的功能 在Java中,出于简化程序结构的考虑,不再支持类间的多重继承而只支持单重继承,即一个类至多只能有一个直接父类,结构简单,层次清晰; 然而在解决实际问题的过程中,仅仅依靠单重继承在很多情况下都不能将问题的复杂性表述完整; Java通过接口机制与单一继承实现了多重继承的功能 §第8章 面象对象—接口、内部类与包 接口的概念 当一个类中所有的方法都是抽象方法时,该类就是接口。 abstract class Animal{ publ
文档评论(0)