第7讲 类和对象(三).pptVIP

  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文档。上传文档
查看更多
第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(); }} 使用被覆盖的成员 域变量的隐藏 子类重新定义一个与从父类那里继承来的属性变量完全相同的变量,称为域变量的隐藏。对于域变量的隐藏来说,父类定义的域变量在子类对象实例化时仍然分配一个存储空间。 当子类执行继承自父类的操作时,处理的是继承自父类的变量,而当子类执行它自己定义的方法时

文档评论(0)

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

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

1亿VIP精品文档

相关文档