[工学]2009122101_面向对象高级_02.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]2009122101_面向对象高级_02

1、课程名称:面向对象(高级) 2、知识点 2.1、上次课程的主要知识点 1、 继承的实现: · 概念:继承可以扩充已有类的功能 · 实现:class 子类 extends 父类{} ,父类又称为超类,子类又称为派生类 · 限制:子类可以直接继承父类中的全部非私有操作,而只能隐式继承所有的私有操作,一个子类只能继承一个父类,但是允许多层继承。 · 子类对象的实例化过程:在进行子类对象实例化时,首先会先对父类对象进行实例化,调用父类中的构造方法,默认情况下调用的是父类中的无参构造方法,当然也可以通过super指定要调用的是那一个构造方法。 2、 重载与覆写的区别: · 重载:发生在一个类之中,方法名称相同,参数的类型或个数不同; · 覆写:发生在继承关系中,子类定义了一个与父类完全一样的方法,但是要注意方法的访问权限,即:被覆写的方法不能拥有比父类更严格的访问控制权限。 3、 this与super关键字 · this表示的是调用本类中的属性或方法,首先会从本类开始查找,如果找不到了,则再去父类中查找;而super表示直接调用父类中的属性或方法; · this与super调用构造方法的时候都要放在构造方法的首行,所以两者不能同时出现; · this可以表示当前对象,但是super无此概念。 4、 final关键字:定义的类不能有子类,定义的方法不能被子类所覆写,定义的变量就称为常量,使用public static final声明的是全局常量。 5、 抽象类:包含一个抽象方法的类称为抽象类,抽象类必须使用abstract关键字声明,所有的抽象类不能直接实例化,而是需要通过子类继承,之后子类(如果不是抽象类)则要覆写全部的抽象方法。 6、 接口:抽象方法和全局常量的集合,称为接口,接口使用interface关键字进行声明,接口通过implements关键字被子类所实现,一个子类可以同时实现多个接口,接口也可以同时继承多个接口。 7、 对象多态性: · 向上转型,子类对象变为父类实例,自动转型: 父类名称 父类对象 = 子类实例 ; · 向下转型,将父类实例变为子类实例,强制转型: 子类名称 子类对象 = (子类名称)父类实例 ; · 在进行向下转型之前一定要首先发生向上转型的关系 · 可以使用instanceof关键字判断某一个对象是否是某一个类的实例 8、 Object类:是所有类的父类 · 所有的类默认继承自Object类 · 主要的方法: |- toString():对象输出时调用,用于输出对象的内容 |- equals():对象比较的操作 · 使用Object类可以接收任意的引用数据类型的对象 9、 单例设计模式(Singleton)、多例设计。 2.2、本次预计讲解的知识点 1、 接口和抽象类的使用 2、 包装类的操作 3、 匿名内部类 4、 理解JDK 1.5之后增加的一些新特性 3、具体内容 之前的很多概念基本上已经描述了一些类的定义的结构,和一些注意特点,但是所有的概念实际上都是围绕接口进行的。 3.1、接口和抽象类(核心重点) 接口和抽象类的使用为整个Java面向对象的核心,包括以后讲解的Java应用部分,实际上都是完全围绕着接口和抽象类的概念展开的,所以如果接口和抽象类不能理解的话,则整个的面向对象基本上就不会。 3.1.1、为抽象类实例化 抽象类中一定是要有子类的,而且子类一定要实现所有的抽象方法。 通过对象多态性的学习,可以发现,当一个父类通过子类实例化之后,调用的方法肯定是被子类所覆写过的方法。 abstract class Demo { public void fun(){ System.out.println(this.getInfo()) ; } public abstract String getInfo() ; }; class DemoImpl extends Demo { public String getInfo(){ return Hello World!!! ; } }; public class CaseDemo01 { public static void main(String args[]){ Demo demo = new DemoImpl() ; // 向上转型 demo.fun() ; } }; 抽象类本身可以实例化,而且通过子类实例化之后就具备了子类的具体功能,同一种功能,会根据子类的不同而有所不同,完全由子类决定。 3.1.2、抽象类的使用 —— 模板设计(理解) 例如:现在可以将一个人的划分成学生和工人。 · 不管是工人还是学生肯定都有其共同的属性,例如:姓名、年龄。 · 但是

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档