Thinking in Java:第一章-对象导论(目前没得对象啊)

目前大四上学期,秋招过去没多久,趁这个时间,系统看一看Thinking in Java。

在对象导论这一块其实没有太多系统性的东西,大概谈谈一些理解就可以了。
1: 编程语言,人类的语言是是一种基于共识的(协议),以人类的角度的对客观世界的描述。有的语言对一些的事物描述很简练,而在同一个问题上有的语言描述却很复杂。编程语言也是一种为了描述客观世界的,从机器和人的角度出发创建出来的。为什么要描述客观世界呢?那是因为。。。还是先敲代码吧。

2:两个空间,问题空间的元素与解空间的对象之间的映射时面向对象程序设计的挑战,也就是对问题的抽象的方法,维度这些balabala的问题。

3:访问修饰符,这种东西你不要去记,你去理解。public:任何地方都可以访问,private:除类型创建者和类型内部方法都不能访问。protected:级别类似private,只是在继承时,继承类可以访问protected,同包也可以访问。还有一个默认访问权限,包内同public, 包外同private。



4:代码复用:组合(has a), 继承(is a)。

5:前期绑定(非oop的编译器):编译器会产生对一个具体函数名字的调用,而运行时将这个调用解析到将要被执行的代码的绝对地址。

6:后期绑定(oop的编译器):因为在oop中,当向对象发送消息时,被调用的代码直到运行时才确定。编译器确保被调用方法存在,并对调用参数和返回值执行类型检查(无法提供此类保障的称为弱类型的)。为了执行后期绑定。Java使用一小段特殊的代码来替代绝对地址的调用。这段代码使用在对象中存储的信息来计算方法体的地址。根据这一小段代码的内容,每一个对象都可以有不同的行为。

7:java完全采用动态内存分配的方式,在堆的内存中动态的创建对象。在这种方式中,直到运行时才知道需要多少对象,他们的生命周期如何,以及他们的具体类型时是什么。

8:客户端编程:一:缓解服务器设计压力。二:更快的响应速度。

9:作者--Bruce Eckel:我特别推荐看看Python(emmm.....)






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值