题目:创建一个包含一个float域的类,并且用这个类展示别名机制
分析:别名机制,听起来很陌生,其实在讲一个很简单的事情。首先来谈一下引用的概念。
我们在操作一个类的时候,我们真正操作的是它的引用。我们可以把它的引用赋值给不同名字的变量,这就构成了别名。因为不同的名字包含着相同的引用。
class Tube { float level; } public class test { public static void main(String[] args) { Tube t1 = new Tube(); Tube t2 = new Tube(); t1.level = 0.9f; t2.level = 0.47f; System.out.println("1: t1.level: " + t1.level + ", t2.level: " + t2.level); t1 = t2; System.out.println("2: t1.level: " + t1.level + ", t2.level: " + t2.level); t1.level = 0.27f; System.out.println("3: t1.level: " + t1.level + ", t2.level: " + t2.level); } }
输出为:
1: t1.level: 0.9, t2.level: 0.47 2: t1.level: 0.47, t2.level: 0.47 3: t1.level: 0.27, t2.level: 0.27
我们可以看到第一行输出是不同的,因为t1和t2包含的是不同的引用。第二行是相同的因为执行了t1=t2,两个变量包含了相同的引用,改变对象的属性,当然两个变量的值都会变,因为他们本质上是一样的,只是名字不一样而已。
相关推荐
第3章 控制程序流程 3.1 使用Java运算符 3.1.1 优先级 3.1.2 赋值 3.1.3 算术运算符 3.1.4 自动递增和递减 3.1.5 关系运算符 3.1.6 逻辑运算符 3.1.7 按位运算符 3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 ...
这个压缩包文件"swift练习题_2024-03-18.zip"包含了与Swift相关的练习题目,可能是为了帮助开发者或者学习者提升Swift编程技能。 在iOS开发中,Swift起着核心作用,它的语法简洁明了,同时提供了许多现代编程语言的...
【极光推送JAVA服务端集成 jpush-api-java-client-master】是一个专门为Java开发者设计的极光推送(JPush)服务端SDK。极光推送是面向移动应用开发者提供的一套消息推送服务,它可以帮助开发者轻松实现向Android、...
美国爱康诺GENESIS64中文标准培训手册-第四章-设备类和别名zip,GENESIS64中文标准培训手册-第四章-设备类和别名,包括目标、创建设备类作为模板使用、创建设备类、创建一个多层结构的设备类、在设备中使用别名、如何...
《C++编程思想》是C++领域中一本极具影响力的经典著作,它深入浅出地讲解了C++语言的精髓和编程技巧。在这个部分,我们主要关注的是命名控制、引用、拷贝构造函数、运算符重载以及动态对象的创建这五个关键知识点。 ...
在Java编程思想中,主要涵盖了以下几个关键知识点: 1. **基础语法**:Java语言的基础,包括数据类型(基本类型和引用类型)、变量、运算符、流程控制(条件语句和循环)、数组等。理解这些概念是学习Java的第一步...
美国爱康诺GENESIS64中文标准培训手册-第十三章-全局别名zip,GENESIS64中文标准培训手册-第十三章-全局别名,包括架构、定义全局别名、别名解析、主题及其值域的使用、配置主题和全局别名变量、使用全局别名、全局...
【标题】"WHU-ISS-JAVA-SSD3--master_ssd3_TheMaster_" 指向的可能是一个关于Java SSD3(Structured System Design using the Data Flow Diagram)的课程项目或练习集,由WHU(武汉大学)的ISS(信息科学学院)发布...
### 嵌入式C语言练习题解析 #### 一、C语言基本知识与编程概念 C语言作为一门历史悠久且应用广泛的编程语言,在嵌入式系统开发领域占据着极其重要的地位。通过本节内容的学习,我们可以了解到C语言的一些基础知识...
第三章:Java基础语法; 第四章:数组的应用; 第五章:面向对象的Java编辑; 第六章:接口与内部类; 第七章:集合的应用; 第八章:异常和反射; 第九章:初识AWT和Swing; 第十章:Swing中的常用组件; 第十一章...
- 第三个程序段是半三角形结构,执行S语句的次数为n(n+1)/2,选D。 - 第四个程序段是递归调用,递归深度为n,每次递归需要O(1)的操作,因此时间复杂度为O(n!),选D。 3. **数据结构类型**:数据的逻辑结构包括...
2.8.2 语法 2.8.3 嵌入式HTML 2.8.4 一些标签示例 2.8.5 文档示例 2.9 编码风格 2.10 总结 2.11 练习 第3章 操作符 3.1 更简单的打印语句 3.2 使用Java操作符 3.3 优先级 3.4 赋值 3.4.1 方法调用中的别名问题 3.5 ...
第3章 控制程序流程 3.1 使用Java运算符 3.1.1 优先级 3.1.2 赋值 3.1.3 算术运算符 3.1.4 自动递增和递减 3.1.5 关系运算符 3.1.6 逻辑运算符 3.1.7 按位运算符 3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 ...
在本资源中,我们主要关注的是"C++ Primer Plus"这本书的第五章编程练习。C++ Primer Plus是一本经典的C++入门教程,它深入浅出地介绍了C++语言的基础和高级特性,适合初学者和有一定经验的程序员作为学习资料。第五...
本资料为帆软学习计划中的《零基础快速自学SQL》第一部分的练习题及答案,主要涵盖了MySQL数据库的基础查询语句,包括单表查询和多表查询,以及一些综合查询的应用。以下是对这些知识点的详细说明: 1. **单表查询*...
2. **单播推送**:向特定设备发送消息,基于设备的极光ID或者别名。 3. **群播推送**:向一组设备发送消息,可以按tag或tag组合进行推送。 4. **广播推送**:向所有注册了该应用的设备发送消息。 5. **自定义消息**...
"memberx3t"可能是开发者或团队的别名,"管理系统java"进一步确认了系统的性质。 在描述中提到,这个简易人事管理系统由JAVA源代码构成,具备基础的人事管理功能,包括登录界面、人员注册、数据插入与删除等。这些...
本资源为汇编及嵌入式C语言第三章的教学讲义,主要涵盖ARM编程器所支持的伪操作、符号定义伪指令、数据定义伪指令等内容。 1. 伪操作:伪操作是ARM编程器所支持的一种特殊的指令助记符,没有相对应的操作码。伪指令...
然而,有时候开发者可能需要在不改变原始Activity的基础上实现不同的功能或者提供不同的入口,这时Android系统提供的Activity别名(Activity-alias)就能派上用场。本文将详细讲解如何在Android中使用Activity别名,...
根据提供的Oracle数据库练习题及其描述,我们可以逐一解析并总结出其中涉及的重要知识点: ### 一、多表查询 1. **子查询与多表连接**: - 练习题目中涉及到了`emp`表与`dept`表的关联查询。 - 例如:“获取在同...