[计算机软件及应用]Java_03面向对象程序设计.ppt

[计算机软件及应用]Java_03面向对象程序设计.ppt

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

面向对象编程概述 简单的说,面向对象编程(Object Oriented Programming,简称OOP)描述的是对象之间的相互作用。 面向对象编程与面向过程编程的区别: 过程化程序设计先确定算法,再确定数据结构; 面向对象编程先确定数据结构,再确定运算。 对象 对象的状态 对象的行为 我们可以把现实世界的事物抽象成对象。 对象一般都有两个特征:状态(state)和行为(behavior)。 软件的对象概念是由现实世界对象抽象而来 。把现实世界对象的状态保存在软件对象的变量中;现实世界对象的行为通过软件对象的方法(函数)来实现。 接口举例 游戏:人猿泰山,怪物有很多种。 野狗、黑熊、秃鹫、食人鱼、鳄鱼 (1)按地域分:有的在天上飞,有的在地上跑,有的在水里游 (2)按攻击方式分:有的能近距离物理攻击,有的能远距离射击 接口举例 野狗:地上移动,近距离攻击 黑熊:地上移动,近/远距离攻击 秃鹫:地上/天上移动,远距离攻击 食人鱼:水中移动,近距离攻击 鳄鱼:地上/水中移动,近距离攻击 * * * * * * * * public static void main(String[] args) { int x = 5; change1(x); System.out.println(x); } public static void change1(int x) { x = 3; } * public static void main(String[] args) { int x = 5; change1(x); System.out.println(x); } public static void change1(int x) { x = 3; } * public static void main(String[] args) { int x = 5; change1(x); System.out.println(x); } public static void change1(int x) { x = 3; } * Finalize: 1 最重要的,尽量不要用finalize,太复杂了,还是让系统照管比较好。可以定义其它的方法来释放非内存资源。 2 如果用,尽量简单。 3 如果用,避免对象再生,这个是自己给自己找麻烦。 4 可以用来保护非内存资源被释放。即使我们定义了其它的方法来释放非内存资源,但是其它人未必会调用该方法来释放。在finalize里面可以检查一下,如果没有释放就释放好了,晚释放总比不释放好。 5 即使对象的finalize已经运行了,不能保证该对象被销毁。 所有finalizable的对象的finalize的执行是不确定的,既不确定由哪个线程执行,也不确定执行的顺序。 为什么有包? ? ? ? 因为 ? Java ? 要跨平台 ? , ? 不同平台对文件的表示可能不一样, ? ? 为了不用在写代码时考虑这些, ? Java ? 引入包作为名字空间的概念, ? ? 把 ? class ? 和资源文件都打包成 ? .jar ? ,在所有平台上都一样看待, ? ? 因为它们在 ? jar ? 里面组织形式一样,绕开文件系统可能的不兼容的地方,比如 ? Window ? 你用 ? C:/com/Abc.class ? , ? Unit ? 下 ? 你用 ? /user/Abc.class ? , ? 写代码时怎么找到这个类你就不用考虑了,他们有统一表现形式,让可能的不兼容的地方在运行时用很少手工步骤(指定 ? class ? path ? 时根据操作系统不同指定一下 ? jar ? 路径 ? ? ? ) ? 就可以解决问题. * * 也许有人会问引用整个包中的类不好吗?为什么还要指定是某个类呢?原因有以下几点: 首先当引用不在本地机器上的整个包,程序将通过网络将包的所有文件都拖过来,如果这个包有上千个类,而你只使用其中很少的部分,将浪费很多资源。 如果引用的两个包中有共享的文件名(例如包pack1中有个叫classname的类,pack2中也有个叫classname的类,如果你使用import pack1.*;import pack2.*),你的系统就要崩溃了。 * 也许有人会问引用整个包中的类不好吗?为什么还要指定是某个类呢?原因有以下几点: 首先当

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档