thinking in java学习记录(一)对象导论

我们将问题空间里的元素及其在解空间中的表示称为对象

对象有这些特性:
1.万物皆为对象
2.程序是对象的集合,他们通过发送消息来告知彼此所要做的,而消息可以想象为对某个特定方法的调用请求
3.每个对象都拥有自己的有其他对象所构成的存储
4.每个对象都拥有其类型
5.某一特定类型的所有对象都可以接受同样的信息

因为类描述了具有相同数据元素和功能的对象集合,所以类其实可以看做是一个数据类型,java通过新的类型来拓展编程语言并且一个对象通过“.”来连接一个消息请求,如class.method

访问控制存在的原因:
1.让客户端程序员无法触及他们不应该触及的部分。
2.允许库设计者可以改变类内部的工作方式,而不必影响到客户端程序员

组合:
将一个类放进另一个类中,那么这个类就被称为成员对象,这种方式称为组合,即“has a”拥有关系

继承:
当继承现有类型时,也就是创造了新的类型,这个新的类型不仅包括现有基类的所有成员(排除父类的private成员),更重要是它复制了基类的接口,也就是说,所有可以发送给基类对象的消息也可以发送给导出类

子类基类产生差异通过2种方法
1.添加新方法(确定父类不需要)
2.overriding重写(覆盖)

java是单根继承结构
所有类都具有一个公共的接口(Object)

对象的创建及生命周期:
对象数据由两种存储方式:
1.堆栈(有时候称为自动变量)和静态存储区域:这种方式将存储空间分配和释放置于优先考虑的位置
2.堆:用于动态创建对象,这种创建的对象直到运行时才知道需要多少对象,他们的生命周期如何,他们的具体类型是什么。当需要一个新的对象(new)时,可以直接在堆上创建一个新对象。所以因为存储空间是程序在运行时动态分配的,所以创建的耗时将可能远远大于在堆栈中创建的时间。

并发编程:
程序能够停下当前手中正在做的工作,转而去处理某个其他问题,然后再返回主程序

发布了28 篇原创文章 · 获赞 1 · 访问量 653

猜你喜欢

转载自blog.csdn.net/c630843901/article/details/102173744