抽象类、接口与内部类.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.3.4匿名内部类(3) 在需要参数的情况 : public class AnonymousClassDemo2{ public AnonymousClass makeac(int x){ ?? return new AnonymousClass(x){ ?? ?? public int value(){ ???? return super.value()*10; ? } }; } 5.3.4匿名内部类(4) 对内部类中定义的字段进行初始化 (必须将参数设为final) public class AnonymousClassDemo3{ public AnonymousClass makeac(final String str1){ ?? return new AnonymousClass(){ private String str = str1; ?? ?? public String value(){ ???? return str; ?} }; } 5.3.5内部类的继承 非静态内部类本身隐藏了一个指向外层类的引用。 如果我们需要一个外部类来直接继承内部类,那么这里就会产生一个问题。因为外部类并不包含这个外层类对象的引用,那么默认调用超类的构造器就会产生问题,因此连编译时都无法通过。 5.3.5内部类的继承 class OuterClass{ ? class InnerClass{} } public class InheritInnerClass extends OuterClass.InnerClass{ //InheritInnerClass();不能被编译。 ? public InheritInnerClass(OuterClass outer){ ?? outer.super(); ? } } 5.4 包 5.4.1 创建并命名自己的包 5.4.2 包的引用 5.4 包 提供了把相关的程序段组织成一个单元的机制,在包中定义的类必须通过他们的包名来访问。这样,包就提供了一种命名类的集合的途径。 参与了Java的访问控制机制,包中定义的类可以声明为包所私有的,使包外的代码无法访问。这样包为类提供了一种能够被封装的方式。 5.4.1 创建并命名自己的包 建立一个包,把你的类和接口放到里面。这需要把 package 语句放到源文件的顶部。 package com.myPackage; public class TestPackage{ public static void main(String [] rgs){ new Test().print(); } } class Test{ public void print(){ System.out.println(test of using package!); } } 5.4.1 创建并命名自己的包 上面的例子把TestPackage 放到com下的myPackage包内。注意:必须把package 语句放到你所定义的类文件的第一句。 package 语句的作用范围是整个源文件。 全世界的java程序员都在利用java编写类和接口,怎样使他们编写的相同名字的类和接口不发生冲突呢,这就是包的作用之一,我们把具有相同名字的类和接口放在不同的包下面,这样就不会发生冲突。 按照惯例,包名是创建者的Internet域名的反序,如果你按照惯例,你的package名称是独一无二的,因为你的Internet域名是独一无二的,所以也就不会出现什么名称冲突的问题了。 5.4.2 包的引用 用成员的全称来访问它(包含路径和包名) com.myPackageA.A myA = new com.myPackageA.A(); 导入包的成员 import com.myPackageA.A; A myA = new A(); 第5章 抽象类、接口与内部类 5.1 抽象类 5.2接口 5.3内部类 5.4 包 第5章 抽象类、接口与内部类 5.1 抽象类(1) 在继承的层次关系中,从子类到父类,类就变的更一般、更通用。类的设计应该保证父类包含子类的共同特征,也就是父类应该是子类的良好的抽象。 有时我们将一个父类设计的非常非常的抽象,以至于它都没有具体的实例,这样的类我们称之为抽象类(abst

文档评论(0)

kaku + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8124126005000000

1亿VIP精品文档

相关文档