当前位置: 首页 > 后端技术 > Java

【Java学习笔记】

时间:2023-04-02 01:46:34 Java

1.引言1.1抽象过程对象:问题空间中的元素及其在解空间中的表示称为对象。一切都是对象。程序是对象的集合。它通过发送消息告诉对方该做什么。每个对象都有自己的其他对象存储每个对象都有自己的类型所有特定类型的对象都可以接收相同的消息1.2每个对象都有一个接口类:所有对象都是唯一的,但同时具有相同的属性和行为该对象是它所属类的一部分。类是共享相同特征(数据元素)和行为(功能)的对象的集合。在计算中,表示机器中存储单元的数据类型------>定义适应问题的类。例如:具有相同特征和行为的所有整数数值类型的集合----->整数--->四种类型之一八接口面向对象编程挑战,建立一对一的问题-问题空间的元素和解决方案空间的对象之间的一个映射----->ER每个对象只能满足某些请求,而这些请求由对象的接口定义,它决定了可以向一个特定的对象。1.3每个对象都提供服务高内聚:原则上每个对象只能完成特定的功能,不会做更多正确的事情。这是程序设计要遵循的规则之一。1.4隐藏具体实现类的创建者和客户程序员权限:public\private\protected1.5Reuse代码重用是面向对象编程提供的优势之一。Composition&Aggregation:一个新类可以由任意数量的任何类型的其他对象以任何方式组合,以实现新类中所需的功能和方法。从现有类合成新类的概念称为合成。如果这种组合是动态发生的,那么通常称为聚合,这种组合常被认为是“has-a”。各种数据和功能被封装到一个类中。继承的本质是创建一个新的类。这个新类拥有基类的所有成员(私有成员是隐藏的,不能直接使用)。基类的接口,即所有基类可以接收的消息,本类也可以接收,也就是说派生类与基类具有相同的类型。基类和派生类的区别:派生类可以增加新的功能,派生类可以重写基类的功能,基类和派生类之间存在等价和相似关系。可以说派生类等同于基类,基类类似于派生类,反之则有待商榷。1.7把一个多态的派生类型当作它的基本类型的过程称为“向上转型”(upcasting)。我们将这种将派生类型视为其基本类型的过程称为“向上转型”(upcasting)。其中,“铸”(形)是指按现成的模型进行创作;而“Up”(向上)表示继承的方向是从“上面”——即基类在最上面,派生类在下面展开。因此,根据基类建模是一个从上面继承的过程,即“Upcasting”。在面向对象的程序中,通常使用向上转型技术。当向对象发送消息时,如果不知道对方的具体类型,但采取的动作也是正确的,这种情况称为“多态”。对于面向对象的编程语言,它们用来实现多态性的方法称为“动态绑定”。1.8抽象与接口在程序开发过程中,基础类的对象不想直接创建,通过向上建模的方法来完成。抽象类只能单继承,继承类必须实现被继承类的抽象方法。interface关键字通过完全禁止所有函数定义使抽象类概念更进一步。“界面”是一个相当高效和常用的工具。另外,如果你愿意,还可以将多个接口合并在一起(不能继承多个普通类或抽象类)。1.9对象生命周期对象创建在静态区创建一个对象栈:线程独占的内存区域,只需要移动指针就可以在里面创建对象。知道对象的确切数量、存在时间和类型需要设置存储空间分配和释放的优先级以及使用限制。在内存池中创建对象堆:线程共享的内存区域,内存空间在程序运行时动态分配,操作灵活,效率低-对象销毁-程序化