Java对象导论

STM32 USB2.0 转 Type-C 接口设计与实现 本文详细介绍了STM32 USB2.0转Type-C接口的设计与实现方案,涵盖硬件电路设计、软件配置及调试技巧。重点解析Type-C接口的CC引脚配置和电源管理,提供设备模式、主机模式及双角色模式的实现方法,帮助开发者解决实际应用中的连接稳定性和ESD防护等问题,提升产品可靠性和兼容性。 阅读详情

抽象过程

所有的编程对象都提供抽象机制,解决问题的复杂程度取决于抽象的类型和对象,“类型”是指所抽象的是什么,将问题空间中的元素及其在解空间中的表示称为对象:代码可以通过添加新类型的对象使自身适用于某个特定问题。面向对象语言的五个基本特征:

  1. 万物皆为对象。
  2. 程序是对象的集合,他们通过发送消息来告知彼此要做的。
  3. 每个对象都有自己的由其他对象所构成的存储。(可以通过创建现有对象的包的方式来创建新的类型的对象)
  4. 每个对象都拥有其类型。(每个对象都是某个类的一个实例)
  5. 某一特定类型的对象都可以接收同样的信息。

每个对象都有一个接口,因为类描述了具有相同特征和行为的对象集合,所以一个类实际上就是一个数据类型,一旦类被创建,就可以创建类的无数个对象,然后去操作他们。

每个对象都提供服务。


继承

继承要解决的问题是:当创建了一个类之后,即使另一个新类与其具有相似的功能,你还是得重新创建一个新类。

类型不仅仅只是描述了作用于一个对象集合上的约束条件,同时还有与其他类型之间的关系。

两个类型可以有相同的特性和行为,但是其中一个类型可能比另一个含有更多的特性,并且可以处理更多的消息。

继承使用基类型和导出类型的概念表示了这种类型之间的相似性。

一个基类型包含其所有导出类型所共享的特性和行为。可以创建一个基类型来表示系统中某些对象的核心概念,从基类型中导出其他类型,来表示此核心可能被实现的各种不同方式。

有两种方法可以使基类与导出类产生差异:

    1.直接在导出类中添加新方法。
    2.改变现有基类的方法的行为(覆盖 overriding)。

覆盖:我正在使用相同的接口方法,但是我想在新类型中做些不同的事情。
“是一个”与“像是一个”关系

如果导出类和基类是完全相同的类型,具有完全相同的接口。结果可以用一个导出类对象来完全替代一个基类对象。这可以被视为纯粹替代,通常称之为替代原则。

我们将这种情况下的基类与导出类之间的关系称为:is-a (是一个)关系。

有时必须在导出类型中添加新的接口元素,这样也就扩展了接口。这个新的类型仍然可以替代基类,但是这种替代并不完美,因为基类无法访问新添加的方法。

我们将这种情况下的基类与导出类之间的关系称为:is-like-a (像是一个)关系。


容器

通常来说,如果不知道在解决某个特定问题时需要多少个对象,或者它们将存活多久,那么就不可能知道如何存储这些对象。如何才能知道需要多少空间来创建这些对象呢?答案是你不可能知道,因为这类信息只有在运行时才能获得。

幸运的是,好的OOP语言都有一组容器,它们作为开发包的一部分。在C++中容器是标准C++类库的一部分,经常被称为标准模板类库(Standard Template Library,STL)。Object Pascal在其可视化构件库(Visual Component Library,VCL)中有容器,Smalltalk提供了一个非常完备的容器集;Java在其标准类库中也包含有大量的容器。在某些类库中,一两个通用容器足够满足所有的需要;但是在其他类库(例如Java)中,具有满足不同需要的各种类型的容器,例如List(用于存储序列),Map(也被称为关联数组,用来建立对象之间的关联),Set(每种对象类型只持有一个),以及诸如队列、树、堆栈等更多的构件。

为什么要涉及不同种类的序列呢?第一,不同容器提供了不同类型的接口和外部行为。堆栈相比于队列就具备不同的接口和行为,也不同于集合和列表的接口和行为。它们之中的某种容器提供的解决方案可能比其他容器要灵活得多。第二,不同的容器对于某种操作具有不同的效率。最好的例子就是两种List的比较:ArrayList和LinkedList。它们都是具有相同接口和外部行为的简单的序列,但是它们对某些操作所花费的代价却有天壤之别。在ArrayList中,随机访问元素是一个花费固定时间操作;但是对LinkedList来说,随机选取元素需要在列表中移动,这种代价是高昂的,访问越靠近表尾的元素,花费的时间越长。而另一方面,如果想在序列中间插入一个元素,LinkedList的开销却比ArrayList要小。上述操作以及其他操作的效率,依序列底层结构的不同而存在很大的差异。我们可以在一开始使用LinkedList构建程序,而在优化系统性能时改用ArrayList。接口List所带来的抽象,把在容器之间进行转换时对代码产生的影响降到最小限度。

参数化类型

在Java 5出现之前,容器存储的对象都只具有Java中的通用类型:Object。

单根继承结构意味着的有东西都是Object类型,所以可以存储Object的容器可以存储任何东西。这使得容器很容易被复用。

要使用这样的容器,只需在其中置入对象引用,稍后还可以将它们取回。但是由于容器只存储Object,所以当将对象引用置入容器时,它必须被向上转型为Object,因此它会丢失其身份。当把它取回时,就获取了一个对Object对象的引用,而不是对置入时的那个类型的对象的引用。

所以,怎样才能将它变回先前置入容器中时的具有实用接口的对象呢?

这里再度用到了转型,但这一次不是向继承结构的上层转型为一个更泛化的类型,而是向下转型为更具体的类型。这种转型的方式称为向下转型。

我们知道,向上转型是安全的,但除非确切知道所要处理的对象的类型,否则向下转型几乎是不安全的。

然而,向下转型并非一定是危险的,因为如果向下转型为错误类型,就会等得到被称为异常的运行时错误。尽管如此,当容器中取出对象引用时,还是必须要以某种方式记住这些对象究竟是什么类型,这样才能执行正确的向下转型。

向下转型和运行时的检查需要额外的程序运行时间,也需要程序员付出更多的心血。那么创建这样的容器,它知道自己所保存的对象的类型,从而不需要向下转型以及消除犯错误的可能,这样不是更有意义吗?

这种解决方案被称为参数化类型机制。参数化类型就是一个编译器可以自动定制于特定类型上的类。


泛型

Java 5的重大变化之一就是增加了参数化类型,在Java中它称为泛型。

一对尖括号,中间包含类型信息,通过这些特征就可以识别对泛型的使用。
 


对象的创建和生命期

在使用对象时,最关键的问题之一是它们的生成和销毁方式。每个对象为了生存都需要资源,尤其是内存。当我们不再需要一个对象时,它必须被清理掉,使其占有的资源可以被释放和重用。

对象的数据位于何处?怎样控制对象的生命周期?C++认为效率控制是最重要的议题,所以给程序员提供了选择的权力。为了追求最大的执行速度,对象的存储空间和生命周期可以在编写程序时确定,这可以通过将对象置于堆栈(有时称为自动变量或限域变量)或静态存储区域内来实现。这种方式将存储空间分配和释放置于优先考虑的位置,某些情况下这样控制非常有价值。但是也牺牲了灵活性,因为必须在编写程序时知道对象确切的数量、生命周期和类型。如果试图解决更一般化的问题,例如计算机辅助设计、仓库管理或者空中交通控制,这种方式就显得过于受限了。

第二种方式是在称为堆(heap)的内存池中动态地创建对象。在这张方式中,直到运行时才知道需要多少对象,它们的生命周期如何,以及它们的具体类型是什么。这些问题的答案只能在程序运行时相关代码被执行到的那一刻才能确定。如果需要一个新对象,可以在需要的时刻直接在堆中创建。因为存储空间是在运行时被动态管理的,所以需要大量的时间在堆中分配存储空间,这可能要远远大于在堆栈中创建存储空间的时间。在堆栈中创建存储空间和释放存储空间通常各需要一条汇编指令即可,分别对应将栈顶指针向下移动和将栈顶指针向上移动。创建堆存储空间的时间依赖于存储机制的设计。

Java完全采用了动态内存分配方式。每当想要创建新对象时,就要使用new关键字来构建此对象的动态实例。

对于允许在堆栈上创建对象的语言,编译器可以确定对象存活的时间,并可以自动销毁它。然而,如果是在堆上创建对象,编译器就会对它的生命周期一无所知。在像C++这样的语言中,必须通过编程方式来确定何时销毁对象,这可能会因为不能正确处理而导致内存泄漏。Java提供了被称为“垃圾回收器”的机制,它可以自动发现对象何时不再被使用。更重要的是,垃圾回收器提供了更高层的保障,可以避免暗藏的内存泄漏问题,这个问题已经使许多C++项目折戟沉沙。

Java的垃圾回收器被设计用来处理内存释放问题(不包括清理对象的其他方面)。垃圾回收器“知道”对象何时不再被使用,并自动释放对象占用的内存。这一点同所有对象都是继承自单根基类Object以及只能以一种方式创建对象(在堆上创建)这两个特性结合起来,使得用Java编程的过程较之用C++编程要简单得多,所要做出的决策和要克服的障碍也要少得多。
 

异常处理:处理错误

大多数错误处理机制的主要问题在于,它们都依赖于程序员自身的警惕性,这种警惕性来源于一种共同的约定,而不是编程语言所强制的。如果程序员不够警惕——通常是因为太忙,这些机制就很容易被忽视。

异常处理将错误处理直接置于编程语言中,有时甚至置于操作系统中。异常是一种对象,它从出错地点被“抛出”,并被专门设计用来处理特定类型错误的相应的异常处理器“捕获”。异常处理就像是与程序正常执行路径并行的、在错误发生时执行的另一条路径。因为它是另一条完全分离的执行路径,所以它不会干扰正常的执行代码。这往往使得代码编写变得简单,因为不需要被迫定期检查错误。此外,被抛出的异常不像方法返回的错误值和方法设置的用来表示错误条件的标志位那样可以被忽略。异常不能被忽略,所以它保证一定会在某处得到处理。最后需要指出的是:异常提供了一种从错误状况进行可靠恢复的途径。现在不再只是退出程序,你可以经常进行校正,并恢复程序的执行,这些都有助于编写出更健壮的程序。

Java的异常处理在众多的编程语言中格外引人注目,因为Java一开始就内置了异常处理,而且强制你必需使用它。它是唯一可接受的错误报告方式。如果没有编写正确的处理异常的代码,那么就会得到一条编译时的出错消息。这种有保障的一致性有时会使得错误处理非常容易。

值得注意的是,异常处理不是面向对象的特征——尽管在面向对象语言中异常常常被表示成为一个对象。异常处理在面向对象语言出现之前就已经存在了。

并发编程

在计算机编程中有一个基本概念,就是在同一时刻处理多个任务的思想。最初,程序员用所掌握的有关机器底层的知识来编写中断服务程序,主进程的挂起是通过硬件中断来触发的。尽管这么做可以解决问题,但是其难度太大,而且不能移植,所以使得将程序移植到新型号的机器上时,既费时又费力。

有时中断对于处理时间飨强的任务是必需的,但是对于大量的其他问题,我们只是想把问题切分成多个可独立运行的部分(任务),从而提高程序的响应能力。在程序中,这些彼此独立运行的部分称之为线程,上述概念被称为“并发”。并发最常见的例子就是用户界面。通过使用任务,用户可以在按下按钮后快速得到一个响应,而不用被迫等待到程序完成当前任务为止。

通常,线程只是一种为单一处理器分配执行时间的手段。但是如果操作系统支持多处理器,那么每个任务都可以被指派给不同的处理器,并且它们是在真正地并行执行。在语言级别上,多线程所带来的便利之一便是程序员不用再操心机器上是有多个处理器还是只有一个处理器。由于程序在逻辑上被分为线程,所以如果机器拥有多个处理器,那么程序不需要特殊调整也能执行得更快。

并发还有一个隐患:共享资源。如果有多个并行任务都要访问同一项资源,那么就会出问题。例如,两个进程不能同时向一台打印机发送信息。为了解决这个问题,可以共享的资源,例如打印机,必须在使用期间被锁定。因此,整个过程是:某个任务锁定某项资源,完成其任务,然后释放资源锁,使其他任务可以使用这项资源。

Java的并发是内置于语言中的,Java SE5已经增添了大量额外的库支持。
 

 

AgentScope实战训练营- Java从零开始快速构建Agent完整教程 本文基于阿里巴巴开源的 AgentScope Java 框架,从零开始手把手带你构建 AI 智能体应用。内容涵盖环境搭建、基础对话、工具调用、结构化输出、多Agent流水线、Hook可观测性、会话持久化、MCP协议、RAG知识库集成、多模态工具、技能系统、Spring Boot Web部署等21个核心模块,附带完整可运行代码示例,帮助Java开发者快速掌握Agent开发全流程。 阅读详情

相关推荐

最近爆火的 Ontology 本体是什么?一文看懂基础概念 + 落地实操

1993 Tom Gruber原版定义:本体是对领域概念化模型的显式形式化规范。1998 Studer完善通用定义:本体是共享、明确、形式化的领域概念模型规范。大白话翻译:本体就是机器能看懂的行业词典+业务规则手册。数据库只管存数据,本体只管定规则,知识图谱是规则+数据结合体。区别于普通开源本体工具,这款国产商用本体平台核心优势:业务沙盘推演、可控业务数据写回、全链路字段级数据血缘审计,适配企业生产级业务落地。

驽马不舍 363

java对象导论

(一)事物的抽象过程 人们所能解决的问题的复杂性,取决于能将事物抽象到什么程度。 高等的数学和物理就是对事物高度的抽象。它们在那种极度抽象的层次来研究,一旦获得大的进展,就会对我们日常生活造成极大的影响,比如爱因斯坦的相对论,它的发现对世界的影响就是巨大的。编程也是这样,我们将一些日常事物进行抽象,抽象的水平越高,我们就越可以用简洁的代码去描述它。Alan Kay曾经总结了第一个成功的面向对象语

往事散云烟,十寸光阴换一钱 1286

IEC61850实战:从ICD文件解析到模型构建

本文深入解析IEC61850标准中的ICD文件结构,从Header、IED到DataTypeTemplates部分,详细介绍了如何构建电力自动化设备的数据模型。通过实战案例展示ICD文件的创建过程,并分享常见问题的调试技巧,帮助工程师快速掌握IEC61850建模方法,提升电力系统自动化项目的实施效率。

weixin_26841743的博客 496

《Java编程思想》第一章:对象导论

对象导论 抽象过程 面向对象程序设计方式的特性: 万物皆为对象 程序是对象的集合,它们通过发送消息来告知彼此所要做的 每个对象都有自己的由其他对象所构成的存储 每个对象都拥有类型 某一特定类型的所有对象都可以接收同样的消息 对象具有状态、行为和标识。这意味着每一个对象都可以拥有内部数据(它们给出了该对象的状态)和方法(它们产生行为),并且每一个对象都可以唯一地与其他对象区分开来,具体说来,就是每一个对象在内存中都有一个唯一的地址。 每个对象都有一个接口 ​ 所有的对象都是唯一的,具有相同的特性和行为

pickLing_的博客 552

Windows 10下三菱PLC控件安装报错Error Number:-119的终极解决方案(附详细步骤)

本文针对Windows 10系统安装三菱PLC控件时常见的Error Number:-119报错,提供了深度分析与终极解决方案。文章剖析了该错误源于oleaut32.dll文件版本冲突,并详细介绍了通过设置兼容性模式、手动注册DLL、直接安装MX Component以及高级系统修复等多种方法,帮助用户彻底解决此安装难题,顺利搭建PLC开发环境。

weixin_29289821的博客 328

防雷防浪涌电路设计

通信线路或者电源线路通常会铺设到户外,一旦线路铺到户外后,就需要考虑防雷的问题了,那么怎么设计保护电路,能够防止雷电等浪涌对电路的破坏呢?

manhuami2007的博客 1万+

java对象导论,个人对java对象的理解

很荣幸的读到thinking in java 这本书,第一次拿到这本书的感觉就是真他妈的厚。 从此决定好好的自学一下java,自学还是有很大难度的,最重要的是坚持,不要觉得枯燥。 第一章就是对象导论 个人对各个小节的内容做出以下总结,这么做能让自己更加认真清楚的对待每一个小节的知识点, 也出于对本书的敬畏之心,同时对于自己以后复习查看也会有很大的帮助 这一章主要是对全书的

weixin_40192129的博客 497

无人机精准降落辅助系统核心技术解析

接近地面时(<10米)切换至基于图像的视觉伺服(IBVS),依据图像特征点偏移(如靶标图案、LED标记)微调姿态,消除位置累积误差。通过SRUKF(平方根无迹卡尔曼滤波) 算法融合三类数据,输出6自由度位姿估计(精度达厘米级),抑制单一传感器噪声。权值根据信噪比动态调整。模型预测控制(MPC):针对斜坡降落,构建包含平台倾角、风扰的动力学方程,滚动求解最优油门序列。动态照明适配:针对夜间或低光照场景,系统向降落平台发送亮度调节指令,如增强红外信标强度或调整可见光LED阵列,确保特征识别鲁棒性。

YUNZHUO666的博客 1695

java——对象导论

已经学习了一年的java了,只是了解了一下基础知识,自己写了几个系统,最近想深入了解一下,于是买了一本java编程思想艺术。java的五个基本特性: 万物皆对象 程序是对象的集合,他们通过发送消息来告诉彼此所要做的 每个对象都有自己的由其他对象所构成的存储 每个对象都拥有其类型 每个特性类型的所有对象都可以接受同样的消息 用我自己的话解释一下: java是一门面象对象的语言,每一个对象通过发送消息

sunnyliqian的博客 849

同花顺Supermind量化交易 风险控制建模--海龟交易法则

A.市场与标的海龟交易法则应用于流动性高的市场中,选择交易量较大的标的进行交易。本文以沪深300指数ETF为标的,构建海龟交易法则。B、仓位:仓位是海龟交易系统最核心的部分,通过ATR真实波幅指标来管理仓位。第一步:计算True Range,简称TR。TR = Max ( H−L , H−P , P−L ) ,其中H为当日日内最高价,L为当日日内最低价,P为前一日收盘价。第二步:计算ATRATR = mean ( TR , 20 ) , 即计算过去20天的TR的平均值,ATR是TR的移动平均值。

qq_22808537的博客 1496

OpenOCD入门到精通:第 4 章 配置文件体系详解

本文深入解析OpenOCD配置文件的体系结构和工作机制。首先介绍了配置文件的搜索路径优先级和加载顺序,以及配置阶段与运行阶段的区别。然后详细分析了interface配置文件的适配器参数调优方法,包括ST-Link、CMSIS-DAP和FTDI等常见调试器的配置示例。最后重点讲解了target配置文件的核心结构,包括TAP声明、目标创建和工作区设置等关键步骤,并以stm32f1x为例展示了完整的配置流程。通过本文可以全面了解OpenOCD配置文件的分层设计理念和参数化配置方法。

从事嵌入式linux android驱动开发,拥有全栈能力 593

Java-对象导论

1.Java-对象导论 我们之所以将自然界分解,组织成各种概念,并按其含义分类,主要是因为我们是整个口语交流社会共同遵守的协定的参与者,这个协定以语言的形式固定下来… …除非赞成这个协定中规定的有关语言信息的组织和分类,否则我们根本无法交谈。—Benjamin Lee Whorf 计算机革命起源于机器,因此,编程语言的产生也始于对机器的模仿。计算机是头脑延伸的工具,同时还是一种不同类型的表达媒体

jeikerxiao 735

OpenClaw实战系列06:持久记忆与RAG知识库构建——让AI真正“记住”你

本文介绍了OpenClaw AI助理的持久记忆与RAG知识库构建功能。OpenClaw采用"文件即真理"的独特设计,所有记忆都以Markdown文件形式存储,支持直接编辑和Git版本管理。记忆系统分为三层:长期精炼记忆(MEMORY.md)、日常日志(按日期存储)和归档记忆。文章详细说明了环境配置步骤,包括安装必要组件、创建目录结构、设置API密钥,并提供了OpenClaw主配置文件的完整参数说明。该系统实现了跨会话、跨平台的持久化记忆,使AI助理能真正理解用户需求。

PeterPan的博客 1171

thinking in java 笔记 思维导图 第一章对象导论

mythling的专栏 878

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

2014.05.25 Java 对象导论

设计目标专注于克服开发与维护程序的复杂性

Get busy living, or get busy dying. 473

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Java对象导论,什么是对象

在think in Java一书中这样表述对象: 1、万物皆为对象。将对象视为奇特的变量,它可以存储数据,除此之外,你还可以要求它在自身上执行操作。理论上讲,你可以抽取待求解问题的任何概念化构建(狗,建筑物,服务)等,将其表示为程序中的对象。 2、程序是对象的集合,他们通过发送消息来告知彼此要做的。要想请求一个对象,就必须对该对象发送一条消息。更具体的说,可以把消息想象为对某个特定对象的方法的...

mrlongdeng的博客 482

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

《Thinking in Java》学习笔记(一)——对象导论

《Thinking in Java》学习笔记(一)————对象导论 作者:孤独萤火虫 Smalltalk的五大基本特制,也是面向对象程序设计最为纯净的一面:1.      万事万物皆对象。2.      程序便是成堆的对象,彼此通过消息传递,请求其他对象进行工作。3.      每个对象都拥有由其他对象所构成的记忆。4.      每个对象皆有其型别。5. 

孤独萤火虫 862

java学习-1.对象导论

对象导论抽象过程所有的编程语言都提供抽象机制Java语言的的五个基本特性 1.外物皆为对象 2.程序是对象的集合,它们通过发送消息来告知彼此所要做的。 3.每个对象都有自己由其他对象构成的存储。 4.每个对象都拥有其类型。 5.某一特定类型的所有对象都可以接受同样的消息。 对象具有状态,行为和标识每个对象都有一个借口每个对象都提供服务 可以将问题分解为对象的集合 将对象看做服务提供者有助于提高对象的

qian013的博客 365

第一章:对象导论——一个月搞定《Java编程思想》读书笔记

本人算是个Java初学者,知识储备仅限于大学课堂上教过的C语言知识,而且也都忘的差不多了。Java基础一直都很不牢靠,全是写一点查一点。最基本的那些类型都不会用,也是没谁了。。。 估计返校开学还有不到一个月左右的时间,这次买了本《Java编程思想第四版》好好补习一下。学到枚举为止,窗体程序就先不看了,预计30天,每天25页,每天晚上把所学整理到博客上,以便记录和分享。希望自己利用好闲暇时间,打好基...

wowYuXuan808的博客 266

Java编程思想之对象导论

今天看了Java编程思想书中的第一章对象导论,做一个理解性的总结。 一,首先说了介绍了面向对象的思想:即把现实中的问题空间的元素表示在程序的解空间中。这是一种比较灵活的语言抽象,对象和类要有状态和操作。 5个基本特性: 1.万物皆有对象。 2.程序是对象的集合,它们通过发送消息来通信。 3.每个对象都由自身和其他对象所组合而成。 4.每个对象都有所属的类型。 5.同类的对象有公共的方

qq_33403693的博客 400

Java 基础之一对象导论

对象导论1.1 抽象过程所有编程语言都提供抽象机制。人们所能解决的问题的复杂性直接取决于抽象的类型和质量。汇编语言是对底层机器的轻微抽象。我们将问题空间中的元素及其再解空间中的表示称为 对象 。这种思想实质是: 程序可以通过添加新类型的对象使自身适用于某个特定的问题 。万物皆为对象 可以抽取待求解问题的任何概念化构建表示程序中的对象。程序是对象的集合 他们通过发送消息来告知彼此所要做的。每个对象都...

yupi1057的博客 246

java语言设计对象导论二

今天继续写java编程思想中的,对象导论问题。一起来探索java的奥秘。    1.1继承。      有了对象的概念我们就可以形象的描述问题空间的表示,而不用受制于必须使用底层机器语言。这些概念用class表示,这是变成的基本单位。遗憾的是这样做有很多麻烦,比如我们创建一个类,即使另一个新类与其具有相似的功能,我们也不得不重新建立一个新类,如果我们能以此为基础,复制他,然后通过添加和修改副本

cdy的博客 公众号:Android开发吹牛皮 1163

Java编程思想第四版读书笔记——第一章 对象导论

最近开始看Java编程思想第四版中文版,一本砖头大的书,在这里记下读数笔记以后自己看看吧。今天是第一章 对象导论。

severusyue的博客 1258

【Thinking in java】对象导论

k

rbl 797

Java学习笔记——对象导论

时光荏苒,岁月穿梭,转眼间,我已走出了大学校门,踏上了职业的战场。作为一只初出茅庐的菜鸟,我发现自己要学习的东西真的很多很多。因此,我开始了自己的学习。每当我遇到问题不知所措时,

vinnyaptx4869的专栏 792

一、java对象导论之抽象过程

java对象导论之抽象过程 简单的讲,抽象指在一些事物中选取其共有的特征,摒弃每个事物独有的特点,抽取成众多事物所属的一个基础事物的过程。 所有编程语言都提供抽象机制,解决问题的难易程度可以取决于抽象中,抽象成了一个怎样的基础事物。 换句话讲,抽象也可以指我们从业务中的元素如何表示在程序中的过程。这种思想的实质就是程序可以通过添加新类型的对象使自己可以解决某种特定的问题。 纯粹OOP的特性: 1、万物皆为对象 理论上讲,任何事物都可以类比成有特性和行为的对象。例如人的特性:性别有男/女,行为:可以吃饭睡

bytesflying的博客 478
上一篇: springboot项目 错误[restartedMain] o.s.b.d.LoggingFailureAnalysisReporter
下一篇: Java操作符
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值