- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7讲 类与对象(三) 访问权限、类的继承、对象的上转型 ** 温故** 方法的重载 成员方法重载 构造方法的重载 static关键字 类方法与类变量 实例方法与实例变量 this关键字 包 package命令 import命令 本讲要点 访问权限 私有变量和私有方法(private关键字) 共有变量和共有方法(public关键字) 保护变量和保护方法(protected关键字) 友好变量和友好方法 public类与友好类 类的继承(重点) 创建子类 子类的继承性 成员变量的隐藏和方法的重写 final类和final方法 对象的上转型对象 多态性 一、类的封装 类的封装 封装采用设置访问权限 用一个类创建一个对象后,通过对象可以访问这个类的成员变量和成员方法,但这种访问是有一定限制的。 这种限制取决于在声明变量和成员方法时使用的修饰符:public、private、protected、友好(未使用修饰符)。 private变量和方法(一) 访问权限最小,只能在同一个类中被访问。 同一个类的方法中直接访问。 同一个类的对象也可以引用本类的私有成员。 private变量和方法(二) 类中的私有成员不能在另一个类中引用 私有的类变量和类方法也只能在本类中使用。 public变量和方法 访问权限最大,可以在不同类、不同包的类中访问。 public变量和方法 友好变量和方法 不使用修饰符:public、private、protected,即缺省这些修饰符的情况。 比private权限级别高一级 友好成员只能被同类或同包中的不同类引用。 protected变量和方法 比友好成员高一级,比public低一级。 不能在不同包的类中被引用。 如果不同包中的类是本类的子类,则子类的对象可以引用本类的受保护成员。 方法的访问控制(总结) public类和友好类 如果定义类时,使用public修饰,则该类为公共类。可以在不同的包中被其他类使用。 如果未使用修饰符,则为友好类。只能被同包里的类使用。 二、继承性 继承:由已有类创建新类的机制。新类继承已有类的成员,并可根据需要增加自己新的成员。已有类称为父类,新类称为已有类的子类。 Java不支持多继承,一个子类只能有一个父类,但一个父类可以派生出若干个子类。 子类 单重继承与多重继承 单重继承,是指任何一个类都只有一个单一的父类。 多重继承是指一个类可以有一个以上的父类,它的静态的数据属性和操作从所有这些父类中继承。 采用单重继承的程序结构比较简单,是单纯的树状结构,掌握、控制起来相对容易;而支持多重继承的程序,其结构则是复杂的网状,设计、实现都比较复杂。 Java语言仅支持类的单重继承。 类的继承性 子类和父类在同一包中 子类可继承其父类中非私有成员(不是private的成员) 子类和父类不在同一包中 子类只能继承受保护的和共有成员(public、protected) 三、多态性 所谓多态,是指一个程序中同名的不同方法共存的情况。面向对象的程序中多态的情况有多种,可以通过子类对父类成员的覆盖实现多态,也可以利用重载在同一个类中定义多个同名的不同方法 Java中多态机制有两种: 覆盖、重载 成员变量的隐藏和方法的重写 类成员的覆盖 覆盖的用法 子类对继承自父类的类成员重新进行定义,就称为覆盖,它是一种很重要的多态形式。要进行覆盖,就是在子类中对需要覆盖的类成员以父类中相同的格式,再重新声明定义一次,这样就可以对继承下来的类成员进行功能的重新实现,从而达到程序设计的要求。 覆盖的用法的练习 public class MethodOverride {public static void main(String [] args) {SubClass s=new SubClass(); s.fun(); }} class SuperClass {int i=1; public void fun() {System.out.println(Super); System.out.println(父类的i= + i); }} class SubClass extends SuperClass { int i=2; public void fun() {System.out.println(Sub); System.out.println(子类的i= + i); super.fun(); }} 使用被覆盖的成员 域变量的隐藏 子类重新定义一个与从父类那里继承来的属性变量完全相同的变量,称为域变量的隐藏。对于域变量的隐藏来说,父类定义的域变量在子类对象实例化时仍然分配一个存储空间。 当子类执行继承自父类的操作时,处理的是继承自父类的变量,而当子类执行它自己定义的方法时
您可能关注的文档
- 第6章 串行通信及可编程串行接口芯片8251A.ppt
- 6. 统一过程和敏捷过程.pdf
- 第6章 HTML控件及Web服务器控件.ppt
- 第6章 表单设计和应用1.doc
- 6.3.1 数据存储和访问之——初见SQLite数据库.pdf
- 广东省企业碳排放核查规范知识.pdf
- 6.7 继承的利弊及使用原则.docx
- 第6章 创建和管理其他数据库对象.pptx
- 第6章 电子整机的安装和调试.ppt
- 第6章 结构类型和联合类型.ppt
- 演出策划案应急预案(3篇).docx
- 2025年新能源汽车充电网络优化覆盖商业模式分析.docx
- 2025贵州遵义市红花岗区消防救援大队政府专职消防队员招聘15人备考题库含答案详解(满分必刷).docx
- 2025年农业科技行业创新:十年智慧农业发展及2025年趋势报告.docx
- 2026年热轧板卷行业市场调研报告.docx
- 2026年LVDT传感器行业市场现状供需分析及重点企业投资评估规划分析研究报告.docx
- 2025贵州遵义市红花岗区消防救援大队政府专职消防队员招聘15人备考题库含答案详解(模拟题).docx
- 2025年城市地下管廊监测维护管理方案.docx
- 2025年工业CT设备在半导体划痕检测中精度研究报告.docx
- 2025年航空航天复合材料回收利用报告.docx
原创力文档


文档评论(0)