清华IT 深入Java类 高级课件.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文档。上传文档
查看更多
清华IT 深入Java类 高级课件

Object 类 Object类是java中所有类顶级父类。 如果一个类没有明显的使用extends继承另一个父类,则默认是继承了Object类。 Object类中的方法如果在子类没有被覆盖的话,则默认使用的是Object中的方法。 Object.java中的equals方法: public boolean equals(Object obj) { return (this == obj); } 1、==用于比较两个对象栈中存放的 首地址是否一样 2、equals用于比较两个对象是否是同 一个对象,既内容是否相同 在自己的类中,如果要通过equals()方法来比较两个对象内容是否相等,就要覆盖该方法,自己来实现具体的内容比较。 例如: 比较两个同学实例是否是一个指同一个人,我们只要比较他们的名字/年龄/性别是否一样就可以判断 Object 类 Object类 public boolean equals(Object obj) { Student st = null; if (obj instanceof Student) { st = (Student) obj; }else { return false; } if (st.name == this.name st.age == this.age st.sex==this.sexst.school==this.school) { return true; } else { return false; } } 1、先判断用于比较的对象是否是该 类型的具体实例对象,如果不是,就 直接返回false。 2、如果是相同类型的两个对象,再 比较这两个对象中的成员属性值是否 相等,都相等则返回true,如果有一个 不相等就返回false; 面向对象的多态性 应用程序不必为每一个派生类(子类)编写功能调用,只需要对抽象基类/顶级父类进行处理即可。这一招叫“以不变应万变”,可以大大提高程序的可复用性。 派生类的功能可以被基类的引用变量引用,这叫向后兼容,可以提高程序的可扩充性和可维护性。 以前写的程序可以被后来程序调用不足为奇,现在写的程序能调用以后写的程序就了不起了。 总 结 类的访问限制 类的封装 嵌套类与内部类 类的继承 方法的重写 深入Java类 目 标 类的访问限制 类的封装 嵌套类与内部类 类的继承 方法的重写 访问权限 java中四种不同的限定词限定的成员(成员变量或成员方法),访问权限由大到小依次为: 1、public 公共的 可以被所有的类访问。 2、protected 受保护的 可以被这个类本身访问。 被它的子类(同一个包以及不同包中的子类)访问。 同一个包中的所有其他的类访问。 3、默认的/友好的 被这个类本身访问。 被同一个包中的类访问。 4、private 私有的 只能被这个类本身访问。 如果一个类的构造方法声明为private,则其它类不能生成该类的一个实例。 java中类的限定词的作用范围比较 Public 成员 Protected 成员 默认成员 Private 成员 同一类中可见 是 是 是 是 同一个包中对子类可见 是 是 是 同一个包中对非子类可见 是 是 是 不同包中对子类可见 是 是 不同的包中对非子类可见 是 实现类的封装 封装:将成员变量声明为私有的(private),再提供一个或多个公有(public)setXX() 和getXX()方法实现对该成员变量的访问和修改。 类中的私有成员变量/成员方法只能在该类内部调用,不能通过该类的对象调用。 封装的目的 隐藏类的实现细节; 让使用者只能通过指定的方法访问数据,可以方便加入控制逻辑,限制不合理的操作; 便于修改,增强代码可维护性; 可进行数据检查。 内部类(nested classes) 将一个类定义置入另一个类定义中就叫作“内部类”。 利用它可对那些逻辑上相互联系的类进行分组 并可控制一个类在另一个类里的“可见性”。 内部类对象保存了一个对外部类对象的引用。 OuterClassName.this代表外部类对象的引用 InnerClassName.this代表内部类对象的引用 class Outer{ int outer_i = 100; void test(){ Inner in = new Inner(); in.display(); } class Inner{ void display(){ System

文档评论(0)

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

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

1亿VIP精品文档

相关文档