Java 工具包中所提供的数据结构非常强大并且有很多的功能。这些数据结构包含以下的接口和类:EnumerationBitSetVectorStackDictionaryHashtableProperties现在这些类都是旧的了, Java-2 已经引入了一种新的框架叫做 Collections Framework,在下一个章节中来讲解它。Enumeration枚举接口本身并不是一个数据结构,但是它在其他数据结构中非常重要。
接口是抽象方法的集合。如果一个类实现了一个接口,那么就需要继承这个接口中的所有抽象方法。接口不是类。写一个接口和写一个类很相似,但是它们是两个不同的概念。类是描述一个对象的成员属性和行为。接口只包含一个类所实现的行为。除非实现了接口的类是抽象的,否则接口中的所有方法都需要在类中实现。在以下方面,接口和类非常相似:一个接口可以包含任意数量的方法。
封装是面向对象程序设计四大基本概念之一,其余三个分别是继承,多态和抽象。封装是一种可以使类中的字段私有并能通过公有方法来访问私有字段的技术。如果一个字段被声明为私有,它就不能在类的外部被访问,从而隐藏了类内部的字段。基于这个原因,封装有时也被称为数据隐藏。封装可以被认为是一种能够保护代码和数据被定义在类外的其它代码任意访问的屏障。
Abstraction 是指在 OOP 中让一个类抽象的能力。一个抽象类是不能被实例化的。类的功能仍然存在,它的字段,方法和构造函数都以相同的方式进行访问。你只是不能创建一个抽象类的实例。如果一个类是抽象的,即不能被实例化,这个类如果不是子类它将没有什么作用。这体现了在设计过程中抽象类是如何被提出的。
多态性是指对象能够有多种形态。在 OOP 中最常用的多态性发生在当父类引用指向孩子类对象时。任何能够通过一个以上的 IS-A 测试的 Java 对象被认为是多态的。在 Java 中所有对象都是多态的,因为任何一个对象都会有一个他们自己类型的和 Object 类的 IS-A 关系。重要的是知道,通过引用变量是唯一可以用来访问一个对象的方法。引用变量可以只有一个类型。
在上一章节中,我们讨论了父类和子类。如果一个类从它的父类继承了一个方法,如果这个方法没有被标记为 final ,就可以对这个方法进行重写。重写的好处是:能够定义特定于子类类型的行为,这意味着子类能够基于要求来实现父类的方法。在面向对象编程中, overriding 意味着去重写已经存在的方法。
继承可以被定义为一个对象获取另一个对象属性的过程。使用继承可以使信息以继承顺序有序管理。当我们谈论起继承,最常用的关键字应该为 extends 和 implements。这些关键字将决定一个对象是否是 A 类型或是其他类型。通过使用这些关键字,我们可以使一个对象获得另一个对象的属性。IS-A 关系IS-A 是说:这个对象所属于另一个对象。
异常是一个程序执行过程中出现的问题。引起异常的原因包括以下几点:用户输入无效的数据用户打开一个不能被找到的文件网络连接已经丢失或 JVM 已经耗尽内存一些异常是由于用户的错误,也有是因为程序员的错误,还有是因为一些物理资源在某些形式上的错误。
在 Java 中 java.io 包含的每一个类几乎都要进行输入和输出操作。所有的这些流代表一个输入源和输出目的地。在 java.io 包中支持许多数据,如原语,对象,本地化字符等等。流可以被定义为一个序列的数据。输入流用来从一个源中读数据,输出流用来向一个目的地写数据。Java 提供了强大且灵活的有关文件和网络的 I/O 功能,但本教程涵盖的是非常基础的流和 I/O 操作。
一个 Java 方法是为了执行某个操作的一些语句的组合。举个例子来说,当你调用 System.out.println 方法时,系统实际上会执行很多语句才能在控制台上输出信息。现在你将学习怎么创建你自己的方法,他们可以有返回值也可以没有返回值,可以有参数,也可以没有参数,重载方法要使用相同的方法名称,并在程序设计中利用抽象的方法。
Java 提供了 java.util.regex 包来与正则表达式进行模式匹配。Java 正则表达式和 Perl 编程语言非常相似,也容易学习。正则表达式是一个特殊的字符序列,有助于你用一种专门的语法模式来匹配或找到其他字符串或字符串集。他们可以用来搜索编辑或是操纵文本和数据。java.util.regex 包主要包含了下面的三个类:Pattern 类:一个 Pattern 对象是正则表达式编译表示。
Java 提供了一个数据结构:数组,用于存储相同类型的元素的一个固定大小的连续集合。数组是用于存储数据的集合,但往往将数组认为是相同类型的变量的集合。 跟声明单个变量相反,如 number0, number1, ... number99, 声明一个数组变量,如数字和使用 numbers[0], numbers[1] ..., numbers[99] 来表示各个变量。
字符串,它被广泛应用于 Java 编程,是一个字符序列。在 Java 编程语言中,字符串是对象。Java 平台提供了 String 类来创建和操作字符串。创建字符串最直接的方式来创建一个字符串是这样写的:String greeting = "Hello world!";当你创建一个字符串时,编译器在这种情况下用它的值创建一个 String 对象,如:"Hello world!'。
一般情况下,当我们处理字符时,我们用原始数据类型 char。 示例char ch = 'a';// Unicode for uppercase Greek omega characterchar uniChar = '\u039A'; // an array of charschar[] charArray ={ 'a', 'b', 'c', 'd', 'e' };然而在开发中,我们会遇到需要使用对象而不是原始数据类型的情况。为了达到这个需求。Java 为原始数据类型 char 提供了包装类 Character。
通常情况下,当我们处理数字时,使用原始数据类型,如 byte,int,long,double 等。示例int i = 5000;float gpa = 13.65;byte mask = 0xaf;然而,在开发中,我们会遇到需要使用对象而不是原始数据类型的情况。为了实现这个, Java 为每个原始数据类型提供包装类。 所有的包装类 (Integer, Long, Byte, Double, Float, Short) 是抽象类 Number 的子类。
变量就是用来储存值而保留的内存位置。这就意味着当你创建一个变量时就会在内存中占用一定的空间。 基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字字母。
Java 是一种面向对象的语言。作为一种具有面向对象特征的语言Java 包括以下几项基本概念: 多态性 继承性 封装性 抽象性 类 对象 实例 消息解析 在这一章,我们将深入学习类和对象。 对象:对象具有状态和行为。如果我们考虑现实世界我们可以在我们身边找到很多对象,小汽车,狗,人类等等。所有这些对象都具有状态和行为。
Java 编程语言最初是由太阳计算机系统公司开发的,该公司由 James gosling 于 1995 年创立,它的主要组成部分就是 Java 平台。 截止到 2008 年 12 月,最新发布的 Java 标准版本是第六版(J2SE)。随着 Java 的发展进步和它的广泛流行, Java 做出了很多调整从而适应不同类型的平台。例如: J2EE 是为企业级应用程序设计的, J2ME 是为移动应用程序设计的。
物联网 IOT 的价值在于捕获大数据,进而用于驱动决策和提高操作效率。随着 IOT 的迅速采用,IOT 改变了我们的生活和工作方式,对技术熟练的 IOT 开发者的需求也随之增加。
Redis 高性能的key-value数据库
关注时代Java