JavaSE第三讲-面向对象三大特性-封装、继承、多态.ppt_第1页
JavaSE第三讲-面向对象三大特性-封装、继承、多态.ppt_第2页
JavaSE第三讲-面向对象三大特性-封装、继承、多态.ppt_第3页
JavaSE第三讲-面向对象三大特性-封装、继承、多态.ppt_第4页
JavaSE第三讲-面向对象三大特性-封装、继承、多态.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JavaSE,第三讲,面向对象三大特性,第一节,Encapsulation(封装),封装的三大好处,专业分工隐藏信息/实现细节访问权限控制,Package(包),功能:将一组java文件组织在一起强内聚弱耦合创建独一无二的包名Java包的命名规则全部使用小写字母,包括中间的字也是如此按照惯例,package名称的第一部分是反顺序的类的创建者的Internet域名。导入包(import),Demo:Data.java,TestImport.java,AccessControl(访问控制),属性和方法的访问控制public访问权限:任何地方的类都可以访问到。protected访问权限:在同一个包中的类可以访问;包外的子类可以继承,但不能访问。默认包访问权限:在同一个包中的类可以访问到。private访问权限:只能在定义它的类里访问。类(普通类,非内部类)的访问控制public访问权限:任何地方的类都可以访问到。默认包访问权限:在同一个包中的类可以访问到。,AccessControl(访问控制),方法的访问控制public访问权限:任何地方的类都可以访问到protected访问权限:在同一个包中的类可以访问;包外的子类可以继承,但不能访问。默认包访问权限:在同一个包中的类可以访问到private访问权限:只能在定义它的类里访问,protected:Parent.java,Child.java,private:IceCream.java,Sundae.java,第二节,Inheritance(继承),Java语言规范对继承的定义,定义一个父类class父类名定义一个子类class子类名extends父类名我们就说子类继承父类,正确理解继承,子类是父类更加详细的分类是一种一般化与特殊化的关系Java的标准根源类java.lang.Object进行继承继承的目的是实现代码复用Java只支持单根继承只是采用它的形式并在其中添加新代码,对父类进行扩展,表示“is-a”关系,继承的含义,子类自动拥有父类的属性和行为(一般化的体现,目的就是达到代码的复用)子类可以定义自己特有的属性和行为(特殊化的体现,目的就是达到功能的增加)子类可以把从父类继承下来的行为用自己的方式重新实现(通过方法重写来达到),理解继承时要注意以下几点,不能简单地把继承理解成父子关系设计的时候,如果需要把在父类中定义的属性和行为让子类能够继承,应该把访问权限适当公开继承的时候要注意构造方法的定义,Override(方法重写、方法覆盖),概念子类里面如果有个某个方法的名字,返回类型,形式参数同父类中的某个方法相同的时候,我们称子类把父类的方法给重写了注意在子类与父类之间表现出来(注意跟方法重载区别开来)子类重写了父类的某个方法时,不能降低访问权限子类的方法签名必须与父类的方法签名一样,Demo:TestEmp.java,Overloading与Override,比较Overloading&OverrideOverloading:方法名相同,参数列表不同Override:不同类中,方法名相同,参数列表也相同(方法签名相同。Overridejava.lang.Object.toString()方法,Demo:Apple.java,super关键字,概念代表当前对象的父对象的引用用法:直接父类对象的引用,访问父类的成员变量和方法显式的调用父类的构造函数注意由JVM自己处理,Demo:TestSuper.java,实例的创建顺序,第一步:超类成员变量/超类初始化块(按排列顺序)第二步:超类构造方法第三步:子类成员变量/子类初始化块(按排列顺序)第四步:子类构造方法注:按排列顺序是指哪个代码写在前面就先初始化谁,Upcast(向上转型)和Downcast(向下转型),upcast是由系统自动完成的,是安全的downcast是手工完成的(强制转型),不一定安全RTTI(run-timetypeidentification):运行期类型识别(使用instanceof关键字消除downcast的不安全性),Demo:Student.java,第三节,Polymorphism(多态),对多态的正确理解,相同的事物,调用相同的方法,参数也相同,但是表现出来的行为却不同多态通过分离“做什么”和“怎么做”多态能够改善代码的组织结构和可读性,使得程序有良好的扩展性多态也称为动态绑定(dynamicbinding)、后期绑定(latebinding)或运行时绑定(run-timebinding),多态的三个含义,子类都能以父类的身份出现(里氏代换原则)子类以父类的身份出现,但是做事情时,还是用自己的方式来实现子类以父类的身份出现时,自己特有的属性和行为将不能使用,Demo:TestMan.java,多态的运用,多态参数多个方法的参数,具有相同的父类,则以父类的名义来声明方法的参数,由于子类都能以父类的身份出现,所以方法只要定义一次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论