- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用对象的引用.成员变量来访问对象的成员变量使用对象的引用.成员方法.ppt
6 接口和抽象类有本质的不同 (1)抽象类可以包含某些实现代码,但接口没有任何实现部分。 (2)抽象类可以包含成员变量而接口没有。 (3)抽象类可以有构造方法,而接口都没有。 (4)抽象类可以继承自其他类和接口而接口仅仅能继承自接口。 (5)接口支持多继承而抽象类仅仅支持单继承。 接口的使用 接口动态加载实例 我们在仅知道接口方法声明及含义的基础上,利用接口统一界面(接口API)即可完成对底层对象功能的调用,而不用关心具体对象是如何实现逻辑的. 代码3-28 接口是一种引用类型 接口类型的参数作为方法参数,在实际使用时可以将实现了接口的对象传递给方法. 使用参数传递的程序更灵活一些,就像写小说。 代码3-29 接口是OCP原则使用的典范 我们使用接口,而不需要关心他的具体实现; 具体实现的细节变化也无关客户端(使用接口的类)的使用。 与抽象类很像,但他们也有不同: 下一页 接口版:吃方便面与赠予方便面 多态实现的必要条件: (1)继承、重写与父类指针指向子类对象。 (2)方法重载。 1 多态的概念 多态----是指把类中具有相似功能的不同方法使用同一个方法名来实现,从而可以使用相同的方式来调用这些具有不同功能的同名方法。 如:让同学帮你买饭 这是你的一个方法,请别人帮你买饭。 public void 找人帮我买饭 (帮你买饭的同学类 str){ str.买饭(); 或 str.买饭(10); //给10元钱 或str.买饭(承诺a); //明天帮你早读打卡 } 不同的同学有不同的做法;(不同对象间的多态) 给同学不同的信息也会不同的做法;(不同参数的多态) 2 重载与多态 成员方法,静态方法的多态 方法的重载 代码3-30 构造方法的多态 构造方法的重载 代码3-31 3 重写与多态 三个条件: 继承、重写、父类引用指向子类对象 “重写”的目的是在子类中改变父类的某些行为。 Java编译器总是试图在运行时找到并执行子类的方法(“回”字形内存结构中,从最外层向最里层逐层匹配)。 代码3-32 小程序: 老师点名 只需知道学生会“应答” 学生实现规则——“应答” 语言方式 电子方式 内部类是声明在外部类类体内的类。 内部类的作用 突破外部类的封装 内部类继承自某个类或实现某个接口,内部类的代码操作集成于外部类的对象中 有限的多重继承 每个内部类都能独立地继承自一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。 1 成员内部类 声明格式: [public|protected|private] class 类名{} 代码位置:类体内,成员方法外,与成员变量位置相同。 成员内部类的使用方法 受声明前访问控制符限定。 在类体内,如同正常类一样声明对象。 在类体外,需要在产生外部类对象的前提下,并在访问控制允许的条件下,方可声明对象。 代码3-34中注意,成员内部类对象的声明与访问 2 局部内部类 声明格式: class 类名{} 代码位置:成员方法体内,局部内部类对象声明之前,与局部变量位置相同。 作用范围:从类代码结束到所在方法体结束。在方法体内,如同正常类一样声明对象。 局部内部类的注意事项 因为它天然就是访问范围的限制,所以局部内部类不能也不需要使用访问控制修饰符。 方法内部类只能在定义该内部类的方法内实例化,不可以在此方法外对其实例化。 方法内部类对象不能使用该内部类所在方法的非final局部变量。 代码3-35中注意事项 3 静态内部类 声明格式: [public|protected|private] static class 类名{} 代码位置:类体内,成员方法外,与静态成员变量位置相同。 使用方法与注意事项 受访问控制符影响。在本类内,可直接声明对象。在类体外,在访问控制允许的情况下,使用 外部类类名.静态内部类构造方法() 的方式声明一个对象。 静态内部类只能访问外部类的静态方法和静态变量。 代码3-36 4 匿名内部类 匿名内部类,顾名思义,没有名字的内部类。表面上看起来它们似乎有名字,实际那不是它们的名字。 这个名字是其父类或其实现的接口名称。匿名内部类的出现主要是为重写父类某个方法或实现某个接口。 声明格式: new 父类类名|接口名(){ //重写方法 }; 使用方法及特点 代码位置:出现引用变量声明时。 使用方法:没有名字,声明完毕即生成对象,由声明时的引用变量持有。 无法二次生成对象; 不能定义任何静态成员、静态方法; 不能是public、protected、private的; 不能有构造方法。 代码3-37 final类 终结类 无法继承 public final class
文档评论(0)