什么是java句柄_JAVA中的术语:句柄是啥意思
句柄的本质:一个唯一的整数,作为对象的身份id,区分不同的对象,和同类中的不同实例。程序可以通过句柄访问对象的部分信息。句柄不代表对象的内存地址。
句柄和指针的区别:程序不能通过句柄直接阅读文件中的信息,指针是可以的。从所起的作用这点来说,句柄就是弱化后的指针,更安全,功能减少。
如果句柄不再I/O文件中,毫无用处。
说了那么多,其实就是:对象的引用,或者说指针也凑合能理解。
每种编程语言都有自己的数据处理方式。有些时候,程序员必须时刻留意准备处理的是什么类型。您曾利用一些特殊语法直接操作过对象,或处理过一些间接表示的对象吗(C或C++里的指针)?
所有这些在Java里都得到了简化,任何东西都可看作对象。因此,我们可采用一种统一的语法,任何地方均可照搬不误。但要注意,尽管将一切都“看作”对象,但操纵的标识符实际是指向一个对象的“句柄”(Handle)。在其他Java参考书里,还可看到有的人将其称作一个“引用”,甚至一个“指针”。可将这一情形想象成用遥控板(句柄)操纵电视机(对象)。只要握住这个遥控板,就相当于掌握了与电视机连接的通道。但一旦需要“换频道”或者“关小声音”,我们实际操纵的是遥控板(句柄),再由遥控板自己操纵电视机(对象)。如果要在房间里四处走走,并想保持对电视机的控制,那么手上拿着的是遥控板,而非电视机。
此外,即使没有电视机,遥控板亦可独立存在。也就是说,只是由于拥有一个句柄,并不表示必须有一个对象同它连接。所以如果想容纳一个词或句子,可创建一个String句柄:
String s;
但这里创建的只是句柄,并不是对象。若此时向s发送一条消息,就会获得一个错误(运行期)。这是由于s实际并未与任何东西连接(即“没有电视机”)。因此,一种更安全的做法是:创建一个句柄时,记住无论如何都进行初始化:
String s = "asdf";
然而,这里采用的是一种特殊类型:字串可用加引号的文字初始化。通常,必须为对象使用一种更通用的初始化类型。
什么是java句柄_JAVA中的术语:句柄是啥意思相关推荐
- java 上溯_java中Instrument的上溯造型
继承最值得注意的地方就是它没有为新类提供方法.继承是对新类和基础类之间的关系的一种表达.可这样总结该关系:"新类属于现有类的一种类型". 这种表达并不仅仅是对继承的一种形象化解释, ...
- java 事务_Java中事务总结详解(精华)
1.什么是JAVA事务? 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性 (is ...
- [转载] c++多态与java多态性_Java中的多态性
参考链接: Java中的加法和串联 c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meani ...
- java 且_JAVA中逻辑运算符“|”和“”与“||”和“”的用法
1.使用规则: (1)& 可以用作逻辑与的运算符,表示逻辑与(and) a.当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false ...
- java 包装类_Java中的包装类
Java中哪些需要包装类 它们将原始数据类型转换为对象.如果我们希望修改传递给方法的参数,则需要对象(因为基元类型是按值传递的). java.util包中的类只处理对象,因此在这种情况下包装类也有帮助 ...
- java 难度_java中难度大一点的面试题
1.请大概描述一下Vector和ArrayList的区别,Hashtable和HashMap的区别.(5) (1)Vector和ArrayList的异同 实现原理,功能相同,可以互用 主要区别: Ve ...
- math java 计算_Java中的数学计算函数汇总
Math类: java.lang.Math类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(BigInteger)算法和任意精度小数(B ...
- java中的多态性_[转载] c++多态与java多态性_Java中的多态性
参考链接: Java中的加法和串联 c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meani ...
- c++多态与java多态性_Java中的多态性
c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meaning of polymorphism ...
- java引_JAVA中的引用
JDK1.2之后,Java扩充了引用的概念,将引用分为强引用.软引用.弱引用和虚引用四种. 强引用 类似于"Object a = new Object()"这类的引用,只要垃圾强引 ...
最新文章
- 智能合约和区块链技术:入门指南
- 如何理解导远技术手册
- [WinAPI] API 5 [遍历驱动器并获取驱动器属性]
- OWASP出品:Xenotix XSS漏洞测试框架及简单使用
- 【docker】常用docker命令,及一些坑
- Tinker 热修复框架模拟使用
- matlab2c使用c++实现matlab函数系列教程-eye函数
- 随机过程:鞅与马尔科夫过程的理解
- 从雷声谈云层中的电能
- C语言程序设计第三版微课版,C语言程序设计(第3版 微课版)
- 通过企业微信SCRM营销系统,完成百万私域用户引流
- 广汉哪里可以学计算机,广汉的年轻人学门啥技术好找工作呢
- php获取证书编号没有serialNumberHex只有serialNumber处理方法
- win10进行系统还原 (可以还原注册表文件 还可以清除近期卸载不了的软件)
- 兼容IE系列浏览器的CSS Hack
- 一文搞清楚软链接和硬链接
- Ubuntu20.04挂载4T数据盘流程
- 华为计算机单机pc游戏软件,华为应用市场pc端
- 3月30日—4月3日三年级课程
- Java 爪哇学习(三) 基础
热门文章
- c语言基础--ASCII码表
- 连接服务器的外呼系统设置,MicroSIP软电话配置说明
- Web前端工程师修炼之道(原书第4版) 中文pdf扫描版
- Eclipse 优化
- vscode终端中文乱码问题的解决方案合集c++
- 点云配准1:配准基础及icp算法
- 我的世界java安装_我的世界游戏安装教程 我的世界怎么安装
- Java的生成器模式(又名建造者模式),你真的会了吗
- 松下plc安装序列号afpsgr7_松下fpwin gr7下载 Control FPWIN GR7(松下plc编程软件) v2.21 中文安装版(附序列号) 下载-脚本之家...
- java保存图片进度条_java 进度条常用方法