网站大量收购独家精品文档,联系QQ:2885784924

[理学]JAVA_4Java面向对象特性.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]JAVA_4Java面向对象特性

对象生命周期 ? 创建对象 ? 使用对象 ? 清除不用的对象 创建对象 对象实例化过程 对象的回收 类的创建 特殊变量this this变量代表对象本身 当类中有两个同名变量,一个属于类(类的成员变量),而另一个属于某个特定的方法(方法中的局部变量) 使用this区分成员变量和局部变量。 使用this简化构造函数的调用。 特殊变量this 关于实例方法和实例数据成员的进一步说明 一个类所有的实例(对象)调用的成员方法在内存中只有一份拷贝,尽管在内存中可能有多个对象,而数据成员在类的每个对象所在内存中都存在着一份拷贝。this变量允许相同的实例方法为不同的对象工作。每当调用一个实例方法时,this变量将被设置成引用该实例方法的特定的类对象。方法的代码接着会与this所代表的对象的特定数据建立关联。 类的继承 理解继承是理解面向对象程序设计的关键。 在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。 在Java中,不允许多继承。 Extends示例Animal Overriding 示例Animal 特殊变量super 特殊变量super,提供了对父类的访问。 可以使用super访问父类被子类隐藏的变量或覆盖的方法。 每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。 Super关键字示例Animal Object 及其子类 Object定义了所有对象都需要的状态和行为。如对象之间的比较、将对象转换为字符串、等待某个条件变量、当某条件变量改变时通知相关对象 以及返回对象的类。 Object 及其子类 ?在Object子类中可以重写的方法: clone equals finalize toString :返回对象的字符串表示,表达的内容因具体的对象而异 ?在Object子类中不能重写的方法: getClass notify notifyAll wait Object的clone方法 ? aCloneableObject.clone(); //从已有的对象创建新的对象 ?注意: aCloneableObject 必须实现了Cloneable接口 Object.clone()是shallow copy 而不是 deep copy Object的clone方法 public class Stack implements Cloneable { private Vector items; // code for Stacks methods and constructor not shown protected Object clone() { try { Stack s = (Stack)super.clone(); // clone the stack s.items = (Vector)items.clone(); // clone the vector return s; // return the clone } catch (CloneNotSupportedException e) { } } } 方法重写的规则 ?必须返回与原来方法完全相同的返回值。 ?方法的访问权限不能缩小。 ?不能抛出新的例外。 子类 ?子类继承父类的属性、功能(方法),子类中只 需声明特有的东西。 ?带private 修饰符的属性、方法是不能被继承的。 ?构造函数不能被继承。 ?在方法中调用构造方法用this()。 ?调用父类的构造方法用super()。 -- super 指向该关键字所在类的父类。 class Animal { int height,weight; Animal( ) { System.out.println(animal construct); } } class Fish extends Animal { int height; Fish( ){ System.out.println(fish construct); } } class Integration { public static void main(String[] args) { Fish fh=new Fish(); } } 多 态 An object has only one form, while a variable is polymorphism,since it can refer to objects of

文档评论(0)

ipbohn97 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档