- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
thinking i java
对象导论
一、Alan Kay总结了第一个成功的面向对象的语言,即smalltalk的五个基本特性
万物皆为对象
程序是对象的集合,他们通过发送消息来告知彼此所需要做的
每个对象都有自己的由其他对象所构成的存储
每个对象都拥有其类型
某一特定类型的所有对象都可以接收同样的消息
每个对象都是服务提供者(service provider)
访问控制的第一个存在原因就是让客户端程序员无法触及他们不应该触及的部分
第二个存在原因就是允许库设计者可以改变类内部的工作方式而不用担心客户端程序员
Access speicifier :public private protected 后两个的差别仅在于继承的类可以访问protected 成员。
在其他的编程语言中方法在默认情况下不是动态绑定的(dynamic binding),但是在java 中动态绑定是默认行为,不需要添加额外的关键字来实现多态。
单根继承结构:在Java中(除了c++以外的所有oop语言)所有的类都继承自单一的类Object.
容器:1)List(用于存储序列),有序可重复
2)Map(关联数组,用来建立对象之间的关联)
3)Set(每种对象类型只持有一个)无序不可重复
容器多样化原因:1.不同的容器提供了不同类型的接口和外部行为
2.不同的容器对于某些操作具有不同的效率。
EveryThing has a reason.
参数化类型:这样的一种容器:他知道自己所保存的对象的类型,从而不需要向下转型以及消除犯错误的可能,这种方案称为参数化类型机制。这是自javaSE5之后才有的,在java中称为范型。
对象的创建和生命期
Java采用了动态内存分配方式。每当想要创建对象时,就要使用new关键字来构建此对象的动态实例。记住:允许在堆栈上创建的对象的语言,编译器可以确定对象的存活时间,并可以自动销毁它,然而,如果是在堆上创建对象,编译器就回对他的周期一无所知。Java可以使用垃圾回收机制,自动发现对象何时不使用,继而销毁它。
异常处理:处理错误
异常是一种对象它从错误点被抛出,并被专门设计用来处理特定类型错误的相应的异常处理器“捕获”,异常处理就像是与程序正常路径并行的,在错误发生时执行的另一条路径。异常不能被忽略。
并发编程:在程序中,这些彼此独立运行的部分称为线程。存在的隐患:共享资源(share resource).解决方案:某个任务锁定某项资源,完成其任务,然后释放资源锁。使其他任务可以使用这项资源。(synchronized)
服务器:信息存储池、用于分发信息的软件以及信息与软件驻留的机器或机群。
Web就是一台巨型服务器。各种提交动作通过所有的Web服务器都提供的通用网关接口(Common Gateway interface)传递。(问题是:复杂难以维护,响应时间过长)客户端编程就是良好的解决方案。)
插件
脚本语言
Java
.net和c#
Internet与intranet
服务器端编程:这些数据库请求必须通过服务器端的某些代码来进行处理。(servlet/JSP)
第二章 一切都是对象
2.1用引用操作对象
遥控————电视机;
引用可以独立于对象存在,也可以关联对象
2.2必须由你创建所有对象
new-给我一个对象
存储到什么地方?
寄存器
堆栈
堆
常量存储
非RAM存储
java中的数组:每个数组上少量的内存开销及运行时的下标检查换取安全性。创建数组的同时即创建对数组的引用,拥有关键字null
2.3 永远不要销毁对象
作用域scope:花括号的位置决定,变量位于花括号之内,对象的作用域存活于花括号之外。但其引用不然。
2.4创建新的数据类型:类
关键字:class
字段和方法:字段可以是任何类型的对象,也可以是基本数据类型,其他通过引用进行通信。如果字段是某个对象的引用,必须初始化该引用。
当变量作为类的成员使用的时候才确保给定默认值:
基本类型 默认值 Boolean false char ‘\u0000’(null) short (short)0 int 0 byte byte(0) long 0L float 0.0f double 0.0d 2.5方法、参数、返回值
调用方法的行为通常被称为发送消息给对象
关键字:return的用法:首先,表示已经做完,离开此方法;
其次:如果此方法产生一个值,这个值要放在return 语句的后面
编码风格:驼峰风格
第三章:操作符
C和c++都支持有符号(默认)和无符号数,Java只支持有符号数。
在最底层,Java中的数据是通过使用操纵符来操作的。
1.对基本数据类型的赋值是简单地:如a = b;那么b的内容
您可能关注的文档
最近下载
- 尼尔森IQ:2025年零售渠道变革-破局增长报告.pptx VIP
- 智能烟厂规划方案-最新版.docx VIP
- 2024年全球智能手持影像设备市场发展白皮书.pdf VIP
- 循势演进 重塑增长:2025中国快消市场发展趋势.pptx VIP
- 循势演进 重塑增长——2025中国快消市场发展趋势报告.docx VIP
- 工厂智能化设计规范.pdf VIP
- 企业工会助推企业高质量发展.docx VIP
- 全国优质课一等奖人教版初中九年级物理《变阻器》赛课课件.ppt VIP
- 全国优质课一等奖初中九年级物理《变阻器》教学设计.doc VIP
- 2025届高考物理复习:经典好题专项(动态平衡问题)练习(附答案).pdf VIP
文档评论(0)