抽象类不能创建对象,主要用来创建子类。
抽象数据类型指明了可能的类型和允许进行的操作,但是没有提供实现。
用于方法或变量定义,限定了哪些类可以访问该方法或变量。
没有访问标识符修饰的方法或变量默认可见性为“package”。
活动记录是包含了实现子程序调用必须的所有信息,包括参数值、子程序中的本地变量和子程序调用结束时计算机的返回地址。
活动记录存储在栈中,使得多个子程序调用同时活跃成为可能。
这对递归非常重要,递归时对同一个子程序的多个调用要求同时激活。
子程序的参数叫做声明。当调用执行时,通过声明把值传递给自函数。实参也叫做“参数”。
计算机内存中的每个位置都有一个地址,表示该位置的编号。内存中的位置按序号排列。
在现代计算机中,内存中的每个字节都有自己的地址。在存储或读取内存信息时用需要用到地址。
完成某项任务所需要的一步一步的过程,过程本身没有歧义,且可以保证在有限的步骤内完成该任务。
颜色组成用来描述颜色的透明度或不透明度。阿尔法组成越高,颜色越不透明。
应用编程接口。针对软件包或“工具箱”的接口说明。
API包含了工具箱中所有类或子程序及其使用说明。
与可以单独运行的应用程序不同,Applet是一种在Web浏览器中运行在Web页面上的Java程序。
由一组静态图片快速显示展示出动态效果。每一幅静态图片叫做帧。
在Java中,动画通常由 Timer 对象驱动。
每次定时器触发时,会显示动画的下一帧。
当图形和文本以像素方式显示时,可以通过调整像素的颜色减轻“锯齿”效应。
反锯齿画图时,图形只覆盖像素的一部分,图形的颜色与该像素之前的颜色混合而成。混合的程度由覆盖像素的多少决定。
一个顺序排列的元素列表。列表中,每个元素都可以由自己的索引标识,即序号。
在Java中,数组里所有元素必须类型相同,该类型也称作数组的基类型。
数组是一种可随机访问的数据结构,也就是说,你可以随时直接访问数组中的任意元素。
这种数据类型的值是数组。比如类型的名字为 Type,那么 Type[] 就是数组类型,基类型为 Type。
计算机程序中的一种语句,可以读取或计算数值,并将其存储到变量中。
Java中的赋值语句形式为:变量名 = 表达式。
异步事件指发生时间不可预料的事件,计算机程序无法对其控制。
像点击鼠标、按键这样的用户输入事件都是异步的。
美国信息交换标准码。这种编码使用7个比特对字符编码。
ASCII码只支持128个字符,不支持重音字符、非英语字符、特殊符号或非字符化语言的表意符号,比如中文。
Java采用了容量更大、更加完整的Unicode编码处理字符。
在递归算法中,基线条件可以直接处理不需要继续递归。
数值被编码为一组0、1序列。一般数字以“10为基数”,二进制数与其类似,只是以“2为基数”。
二叉树是一种链式数据结构。可以为空树,或者由两棵更小的二叉树(可能为空树)与根节点组成。
根节点包含了指向两棵子树的指针。这两棵更小的二叉树被称作左子树和右子树。
一位二进制数,可能是0或1。
指系统或组件在使用时无需关心内部结构。黑盒包括接口和实现。在系统中,被当做组件使用的黑盒叫做模块。
在Java编程中,被花括号({})包围的一组语句称为块。(代码)块用来将一组语句组合成一条语句。
块可以为空,表示不包含任何语句,即一对空的花括号。
一个操作如果需要等待某些事件发生就称为“阻塞”操作,比如从网络连接读取数据。
执行阻塞操作的线程会一直处在“阻塞”状态,直到事件发生。处于阻塞状态时,线程不能执行任何指令。
而程序中的其它线程可以继续执行。
当阻塞队列为空时,出队操作会引发阻塞,直到队列中有新成员加入。
如果阻塞队列有大小限制,当队列填满时,入队操作也会引起阻塞。
自底向上设计是一种软件设计方法。从系统的基础组件开始设计,然后将它们组合成更复杂的组件,诸如此类。
BufferedImage类展示了“屏外画布”,即图片存储在计算机内存中,可以在屏幕外进行绘制。
分支是一种控制结构,计算机通过分支从2个或多个不同的执行路径中进行选择。
字节是一种由8个比特组成的内存单元。
一个字节可以保存8个比特二进制数。
“Java字节码”是Java虚拟机机器语言的常用名称。
Java程序会被编译成Java字节码,后者由JVM执行。
字符集是一种将字符数据编码为二进制的特定编码形式。例如UTF-8和ISO-8859-1。
在Java中受检异常必须处理,可以通过 try catch 语句捕获,或者在方法上使用 throw 语句抛出该异常。
如果没有用这两种方式处理受检异常,会报告语法错误。
类是Java的基础编程单元。
类是静态方法、非静态方法和变量的集合。
静态成员是类自身的一部分,非静态或“实例”成员是创建对象的蓝本,由此创建的对象“属于”该类。
“静态变量”和“静态方法”的别名。它们是类的一部分,与对象无关。
其中,“服务器”在网络上守候某个已知地址,等待“客户端”向它发起连接请求。
这是TCP/IP协议的基础通讯模型。
一种计算机交互方法。用户向计算机输入命令,计算机对每个命令进行响应。
在一个计算机程序中,注释是那些被计算机忽略的文本。注释的目的是方便人们阅读,帮助理解程序。
编译器是一种计算机程序,将某种计算机语言(通常是高级语言)编写的程序翻译成机器语言程序。
组件是对GUI可视元素的泛称,包括窗口、按钮或菜单等。
在Java中,组件表现为 ponent 子类创建的对象。
类的一种特殊子程序,主要用来创建类的对象。
构造函数一般使用 new 操作符进行调用,通常不被看做“方法”。
类似 JPanel 这样的组件,容器可以包含其它GUI组件。
调用容器的 add 方法可以向其添加组件。
它指明了方法及其调用者的职责,如何调用该方法,以及正确调用方法时会执行的任务。
方法契约应当在该方法的Javadoc注释中完整说明。
类似 if 语句、while 循环这样可影响程序控制流(即程序中指令执行顺序)的程序结构。
中央处理器。CPU是计算机中实际执行计算和运行程序的部分。
经过组织的数据集合。在程序中被当做一个单元处理。
一种多个线程无限等待的情况。出现死锁的原因,比如每个线程都在等待其它线程锁定的资源。
Java 8 接口中的方法,该方法提供了自己的实现。
所有实现带有默认方法的接口都可以使用默认实现,但是不能覆盖默认方法。
通过 default 保留字标记默认方法。
Java 7不支持默认方法。
没有在带有名字的包中声明的类都归属默认包。
在程序中,变量在使用前必须确保已经被赋值。
局部变量只有在赋值后才能合法使用。
为了达到这个要求,编译器必须对变量从声明开始到使用的每条路径都进行赋值检查。
表示已经废弃,但为了先后兼容仍然保留。
弃用的Java类或方法仍然是Java语言的一部分,但不建议在新代码中使用。
在未来的Java版本中,弃用的内容会被移除。
对话框是依赖其它窗体创建的新窗体。
弹出对话框通常用作获取用户信息或展示消息。
一种在由网络连接的多个计算机中进行的并行处理。
调用子程序时,用来代替实际传入参数的标识符。
虚参数也叫“形式参数”(有时候会用“变元 argument”表示实参,这时虚参数也叫做“参数”)。
枚举类型的定义中列举了该类型所有可能值。
在Java中,枚举类型是一个类,所有可能的值都是对象。
在GUI编程中,事件指发生在程序控制以外的操作,比如点击鼠标。
程序必须对发生的事件进行响应。
程序控制流程之外的错误或异常情况。
指CPU执行机器语言程序的过程。
CPU会从内存获取(即读取)指令,执行(运行)指令,然后再循环重复该过程。
设为 true 时表示达到某些条件或发生了某种事情。
可利用二进制数中的某个比特位作为标志。
“虚拟参数”的另一种说法。
组成动画的某一幅画面,也是活动记录的另一种说法。
自动回收内存的过程。被回收的内存由对象占用但已不再会对其访问。
编写的代码不仅限于单一数据类型,可适应多种数据类型。
Java集合框架及其它使用了相似技术的类都是泛型编程的实例。
类中的一个实例方法,用来读取类的某个属性值。
通常,属性代表一些实例变量的值。按惯例,getter方法被命名为 getXyz,其中 xyz 是属性的名字。
成员变量的别名。强调类中的成员变量可以在类方法外存在。
用来绘制某些特定地点所必须得数据和方法。Java中的图形上下文是属于 Graphics 类的对象。
图形用户界面是与计算机的现代交互方式。
计算机通过GUI在显示器上展示类似按钮和菜单这样的接口组件,用户可以通过像鼠标点击这样的方式与之交互。
一种优化的数据结构,可以高效搜索、插入和删除对象。哈希表包含对象的地址数组。
对象存储的地址由自身的“哈希代码”决定。通过对象的内容可以高效地计算出地址整数值。
计算机内存中存储对象的区域。
类似Java这样的计算机语言,方便人们阅读,但在执行前需要翻译成机器语言。
其中颜色由3个数值表示(在Java中,实际的数值在0.0到1.0之间)。分别代表色调、饱和度和亮度。
带图形用户界面的编程环境,集成了创建、编辑和执行程序的各种工具。
在程序中可用作名字的一组标识符。
标识符可用作变量名、方法名和类名。
元素在数组中的位置编号。
黑盒的内部实现,比如子程序的实现代码。
不可变对象构造完成后不能改变,因为实例中所有变量都标记为 final。
循环永远不会结束,因为它的循环条件永远判定为 true。
一个类可以继承另一个类。
继承者会从父类继承数据和行为。
指归属于类(或者该类型子类)的对象。
当类用作对象模板时,对象由类中的构造函数创建的对象归属于这个类。
类中的非静态方法,该类的所有实例都具有该方法。
类中的非静态变量,该类的所有实例都包含该变量。
对如何使用类似子程序这样的黑盒子一种通用说法。
接口对其内部发生的情况没有提供任何信息。“interface”同时也是Java中的保留字。
从这个意义上说,接口是一种定义了一个或多个抽象方法的类型。实现该接口的对象必须提供这些方法的定义。
一种执行程序的计算机程序,被执行的程序由某种编程语言编写。
通过从程序中一个接一个读取指令然后逐条执行(将指令翻译为等价的机器语言)。
计算机程序与其它部分的通讯方式,比如向用户展示数据、从用户那里获取信息、读写文件、通过网络发送和获取数据。
与 list 或 set 这样的集合相关联的对象。可用来对该集合进行遍历。
迭代器会轮流访问集合中的每个元素。
一组实现了泛型数据结构的标准类。包括 ArrayList、TreeSet 等。
新的应用程序GUI工具集。
在Java 8中推荐使用。
JavaFX不在本书的讨论范围。
支持编译、运行Java程序的基本软件。
JDK包含命令行编程环境以及JRE。
要编译Java源代码或执行预编译程序时,需要使用JDK。
支持运行已编译的标准Java程序。
JRE包括一个Java虚拟机和所有标准的Java类。
一种解释器和编译器的结合,在解释程序某部分的同时可对其进行编译。
接下来对该部分程序执行时比首次运行更快速。
这样可以大大提高执行速度。现代JVM都使用了即时编译器。
将Java字节码作为机器语言执行的虚拟计算机。
也用来称呼解析字节码程序的计算机程序。
要在计算机上运行Java程序需要使用JVM。
负责对容器中组件进行布局的对象。
进行的部分操作包括设置大小和位置。
不同类型的布局管理器实现的布局策略各不相同。
一组由之指针相互链接的对象数据。
这些指针存储在对象的实例变量中。
链式数据结构包括链表和二叉树。
一种链式数据结构,节点之间由指针串连形成线性链表。
在GUI编程中,可以向对象注册特定事件的触发通知。
因此可以说,对象在“监听”这些事件。
在程序中键入的一组字符序列,表示常量值。
例如,当A在Java程序中出现时,’A'是一个常量字符。
计算机内存由一系列位置组成。
这些位置顺序编号,标识特定位置的编号被称为该位置的地址。
在方法内部声明的变量,只能在该方法内部使用。
代码块中声明变量的有效性,从声明处开始到该代码块的尾部结束。
一种控制结构,重复执行一组指令。
for 循环中的变量,每次执行 for 循环时都会修改循环变量值,通过检查该变量决定是否结束循环。
由计算机能够直接执行的指令组成的编程语言。
机器语言中的指令会被编码成二进制数。
每种类型的计算机都有自己的机器语言。
用其它语言编写的程序必须翻译为该计算的机器语言,才能在它上面执行。
程序和数据可以存储在计算机的主内存中,主内存可以被CPU直接访问。
其它形式的内存,比如磁盘驱动器,虽然也能存储信息,但是唯有主内存可被CPU直接访问。
磁盘分区中的程序和数据只有拷贝到内存中才能被CPU访问。
这种数据结构将一组(Collection)中的某个对象与摸个集合(Set)中的所有对象关联在一起。
定义在类中的变量,但不属于任何方法。
成员变量与本地变量不同,后者在某个方法中定义。
计算机中的内存用来存储程序和数据。
子程序的另一种称呼,在面向对象编程中使用。
方法指包含在类或对象中的子程序。
大型系统中的组件,与系统中其它部分以简单、定义清晰、直接的方式进行交互。
一次执行多个编程任务。
要么在多个任务之间快速来回切换,要么同时逐个执行多个任务。
进行多任务处理时使用多个处理器。
这样,多个任务可以同时逐个执行。
防止两个线程同时访问相同的资源。
在Java中,这种方法应用于多个线程同时访问同步方法或同步语句中的资源。
互斥可以阻止竞态条件,但是可能引发死锁。
模型-视图-控制器模式。
一种用在GUI组件中进行职责划分的策略。
模型代表组件的数据,视图指该模型在屏幕上的展示,控制器负责响应模型变化事件。
在MVC模式中,这些职责由不同的对象负责处理。
Double.NaN表示一种特殊的 double 值,表示未定义或非法值。
链式数据结构中,某个对象的常用称呼。
一种特殊的指针值,表示“没有指向任何东西”。
使用逼近法研究算法的领域,比如实数以及从逼近计算中得到的错误。
一种常见错误,处理时多减或多加了一个元素。
通常是技术错误或者循环时由其它原因过早停止或过度执行造成的。
计算机程序中带有数据(变量)和行为(方法)的实体。
Java中的对象必须以某个类作为创建模板。对象所属的类决定了对象包含的类和方法。
这种类型的值是对象而非基础类型。
类和接口都是对象类型。
一种计算机程序设计和实现的方法。
OOP使用类和对象创建、表示实体及实体间的交互。
在计算机中一直运行的基础软件。
没有操作系统的计算机无法工作。
类似“+”、“<=”或”++”这样的操作符,可以在表达式中计算一个或多个值。
相同操作符可以在不同类型的数据上使用。
比如“+”操作可以同时应用于数字和字符类型。
同一个类中定义了几个名称相同的方法,区别在于各个方法的签名不同。
子类中,对从父类继承的方法重新定义,新定义的方法就是对原方法进行重写。
在Java中,相关类和子包的有名集合称为包。
同时执行多个任务,可以是多个处理器,也可以由一个处理器在多个任务间返复执行。
调用子程序时,参数用来向子程序提供信息。
在执行子程序代码前,子程序调用语句中的“实参”会分配给子程序定义的“虚参数”。
类似 ArrayList 这样,包含了一种或多种类型参数的类型(这里的参数类型是String)。
确定预演中字符串语法结构的过程。
解析字符串用来确定字符串中是否遵循该语言的语法;如果是,那么会确定该字符串是如何根据语法进行创建。
数组是用来存储数量各异的元素。
部分完全数组表示为一个带有追踪元素个数计数器的普通数组。
指屏幕或图片中的“图像元素”。
一幅图像由像素的行和列组成。每个像素的色彩都可以单独设置。
多态是指调用实例方法的意义取决于调用方法时对象的实际类型。
也就是说,如果变量的类型是 var,那么调用方法的语句。
比如 var.action 取决于执行时 var 所指向的对象类型,而非 var 变量的类型。
代表计算机内存中某个地址的值,因此可以看做“指向”具有该地址的位置。
在Java中,变量不存有对象;变量只是指向存储该对象的位置。指针也称作“引用”。
描述如何编写好程序的经验法则。
例如样式规则、程序组织指南都是编程语用学的一部分。
操作符的优先级指,在没有括号的情况下,表达式中多个操作符的作用顺序。
在程序的执行过程中,为了让程序正确运行,前置条件必须判定为 true。
子程序的前置条件是指,为了让子程序正确运行必须满足的前置条件。
子程序的前置条件通常是对传入的子程序的实参值进行的限制。
一种表示元素结合的数据结构,其中每个元素都有自己的“优先级”。
优先级队列具有添加和移除操作。
可以按照任意的顺序添加元素,但移除时总是先移除优先级最低的元素。
(某些版本的优先级队列会先移除优先级最高的元素)
在执行程序的某个节点,该条件的计算结果为 true。
子程序的后置条件在子程序执行结束后必须为 true。
函数的后置条件通常表示为函数的返回值。
基本类型变量存储了真实的值,而非指向数值的指针。
与线程关联的整数值,可以影响线程的执行顺序。
优先级高的线程比优先级低的线程提前执行。
并行编程中的一种经典模式,一个或多个生产者生产的产品被一个或更多的消费者使用。
生产者和消费者设计为可以并行执行。
这里的难点在于,如何安全、高效地从生产者向消费者非配产品。
在Java中,通过阻塞队列实现生产者/消费者模式。
用某种合适的编程语言编写的一组指令,由计算机执行。
用做动词时,表示创建该指令的动作。
用来为计算机编程的一种语言。
编程语言的复杂性,从机器语言到像Java这样的高级语言跨度很大。
在指定上下文中,构成合法通信的一组规范。
协议中规定了合法的消息、传送的时间、期待的恢复类型等。
与实际编程语言相比,伪代码更加接近英语。
并且,通常无需明确地写出过程的每个细节。
由一组元素构成的数据结构。
只能在列表的一头添加数据,在列表的另一头移除数据。
并行编程中可能的错误源。
由于某个线程改变了第二个程序依赖的程序状态(比如变量值),从而引发错误。
计算机主内存的同义词。
然而,从技术角度看,RAM是指在任意时间内都可以同样访问内存地址。
RAM也意味着可以同时读写数据。
用自身的形式定义自己。
特别地,递归子程序可以直接或通过一系列其它子程序间接调用自己。
递归算法的工作方式,通过将一个复杂问题拆分成更小的子问题。
子问题要么可以直接解决,要么可以“递归”使用相同的算法。
颜色由3个数值定义(在Java中,数值的范围从0到255)。
分别表示颜色中的红色、绿色和蓝色组成。
《使出“牛”劲上传资料,三重奖励等你来! 》
上传30-50个资料奖励10元
上传个资料奖励400元
上传个资料奖励500元
在基础奖金的基础上,对上传不同数量的优质完整资料的用户,追加奖励:
超过100个追加奖励50元;
超过300个追加奖励100元;
超过500个追加奖励200元,
超过1000个追加奖励500元。
三、E币奖励,对上传数量前五名分别奖励数量不等的E币【前往E币商城兑换礼品】
第2、3名:奖励800E币
第4、5名:每人分别奖励500E币