“如果我们说一种不同的语言,那么我们才会感知到一个有点不同的世界。”
路德文希•文根斯坦 (1889-1951)
虽然java是基于C++基础上的,但是它更是纯粹的面向对象语言。
尽管C++和java都是混种的语言,但是在java领域中,设计者们觉得这种混种不像在C++里那么重要。一个混种的语言允许多种编程风格;说C++是一种混种语言是因为他支持与C语言的向下兼容性。因为C++是C语言的父集,所以包含许多后者不具备的特征,而这些特征会使C++在一些方面过于复杂。
Java语言假定你想做的是只是面向对象的编程。这意着在你能应用之前,你必须将你的思想转入面向对象世界(除非你已经习惯这个世界)。这个初步的利益便是与其他OPP语言性比,java有能力能被人更容易的学习和使用。在这一章,你将看到一个java的基本组成部分,并且能了解到java程序的(几乎)一切都是对象。
你用句柄来操纵对象
每种编程语言在内存中都有它自己的手段操纵元素。有些时候程序员必须时刻注意准备处理的是什么类型。你有直接操纵过元素,或者用来处理一些种类的必须用特殊语法来处理的间接表示的对象吗?
所有的这些在java中都很简单。你能把所有都看做对象,并采用一种统一的语法。虽然你把一切都看做对象,但是你操纵的该标识符实际上是一个指向对象的“句柄”。你可以想象一个电视机(指对象)和一个遥控器(指句柄)。只要你拿着这个遥控器,你就对电视机有了一个联系,但是当有人说“换频道”或者“开轻点”,那你操纵的是遥控器,而这反过来能修改电视机。如果你想在房间里到处走走,并且仍旧控制着电视机,你当时拿的就是遥控器,而并非电视机。
此外,遥控器没有电视机也能独立存在。那就是说,只是因为你有一个句柄,但是这并不意着必须有一个对象与它连接。所以如果你想容纳一个单词或者一句句子,你能创建一个String句柄:
String s;
但是这里你创建的只是句柄,并不是一个对象。如果此时你决定向s发送一个信息,你将会得到一个错误,因为s事实上并未与任何东西连接(这里没有电视)。因此,一个更安全的做法,就是在你创建时经常进行初始化:
String s = "asdf";
然而,这里使用的是一种特殊的java类型:字符串可用带引号的文本初始化。通常的,你必须为对象使用一种更通用的初始化类型。
你必须创建所有的对象本文来自优尔\文(论"文?网,毕业论文 www.youerw.com 加7位QQ324~9114找原文
当你创建句柄时,你想它同一个新的对象连接。你通常会用new关键字来操作。这个new关键字意思是说,“把我变成这些对象的一个新对象”。所以在上面的例子里,你可以说:
String s = new String("asdf");
这不仅意着“将我变成一个新的字符串”,但它也通过提供一个初始字串,对如何生成这个字符串给出了信息。
当然,java除了字符串还配套提供了众多现成的类型。更重要的是你能自行创建类型。事实上,在java编程中,创建新类型是一个基本操作,并且他是你学习本书剩余内容的基础。
- 上一篇:PLC数控加工工业机械手英文文献和翻译
- 下一篇:机械电子轧机的空间振动英文文献和翻译
-
巴金《激流三部曲》高觉新的悲剧命运
C++最短路径算法研究和程序设计
上市公司股权结构对经营绩效的影响研究
中国传统元素在游戏角色...
高警觉工作人群的元情绪...
江苏省某高中学生体质现状的调查研究
浅析中国古代宗法制度
g-C3N4光催化剂的制备和光催化性能研究
现代简约美式风格在室内家装中的运用
NFC协议物理层的软件实现+文献综述