文档章节

引用和内存考题

风格若干
 风格若干
发布于 2016/08/09 22:32
字数 373
阅读 10
收藏 1
public class Square {  
    long width;  
    public Square(long l) {   
        width = l;  
    }  
    public static void main(String arg[]) {   
        Square a, b, c;  
        a = new Square(42L);   
        b = new Square(42L);   
        c = b;   
        long s = 42L;  
    } 
}

 

解答:

这题考的是引用和内存。
//声明了3个Square类型的变量a, b, c
//在stack中分配3个内存,名字为a, b, c
Square a, b, c; 
//在heap中分配了一块新内存,里边包含自己的成员变量width值为48L,然后stack中的a指向这块内存
a = new Square(42L);
//在heap中分配了一块新内存,其中包含自己的成员变量width值为48L,然后stack中的b指向这块内存
b = new Square(42L);   
//stack中的c也指向b所指向的内存
c = b;
//在stack中分配了一块内存,值为42
long s = 42L; 

来看4个选项:

A: a == b

由图可以看出a和b指向的不是同一个引用,故A错

B:s == a

一个Square类型不能与一个long型比较,编译就错误,故B错

c:b == c

由图可以看出b和c指向的是同一个引用,故C正确

d:a equal s

程序会把s封装成一个Long类型,由于Square没有重写Object的equals方法, 所以调用的是Object类的equals方法,源码如下

public boolean equals(Object obj) {
     return (this == obj);
}

其实就是判断两个引用是否相等,故D也错误。

 

© 著作权归作者所有

共有 人打赏支持
风格若干
粉丝 6
博文 87
码字总数 53598
作品 0
西安
程序员
私信 提问
软考网络工程师冲刺阶段重要考点学习

软考网络工程师冲刺直播课程 http://edu.51cto.com/course/8416.html 冲刺要点: 分专题重点讲解软考网工选择题第1-35题中必考题型及快速解题、提分方法 专题一:CPU、内存、总线等 专题二:...

软考徐朋
2017/10/19
0
0
软考网络工程师冲刺学习重要考点快速解题、提分方法

分专题重点讲解软考网工选择题第1-35题中必考题型及快速解题、提分方法 专题一:CPU、内存、总线等 专题二:数字编码、传输速率计算、调制解调及PCM计算等 专题三:奇偶校验、CRC、汉明码等 ...

软考徐朋
2017/04/11
0
0
彻底理解JVM常考题之分级引用模型

本文通过探析Java中的引用模型,分析比较强引用、软引用、弱引用、虚引用的概念及使用场景,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目提供参考。 Java的引用 对于Java中的...

Java填坑之路
10/12
0
0
char * a, char ** a, char * a[], char a[][], char

做了软考题,遇到点疑问,查了资料,mark下: 1:传值调用与传地址调用(传引用):http://blog.sina.com.cn/s/blog8d37a72b01013v61.html: 2:char a, char a, char a[], char a[][], char ...

yifon
2014/04/19
0
0
那些年,困扰我们的函数参数,还在吗!

那些年我们遇到的迷惑! 开讲之前,我先请你做三道题目。(嘿嘿,得先把你的头脑搞昏才行……唉呀,谁扔我鸡蛋?) 考题一,程序代码如下: void Exchg1(int x, int y) { int tmp; tmp = x; ...

TheRoodToDeath
2017/03/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

windows上类似dnsmasq的软件Dual DHCP DNS Server

官网地址:http://dhcp-dns-server.sourceforge.net/官网定向的下载地址:https://sourceforge.net/projects/dhcp-dns-server/files/ 设置参考地址:http://blog.51cto.com/zhukeqiang/18264......

xueyuse0012
今天
1
0
LinkedHashMap源码解析

前言 HashMap中的元素时无序的,也就是说遍历HashMap的时候,顺序和放入的顺序是不一样的。 如果需要有序的Map,就可以采用LinkedHashMap. LinkedHashMap通过维护一个包含所有元素的双向链表,...

grace_233
今天
3
0
初识flask

文档 0.10.1版本 http://www.pythondoc.com/flask/index.html 1.0.2版本 https://dormousehole.readthedocs.io/en/latest/ 安装flask $ pip3 install flaskCollecting flask Downloading......

yimingkeji
昨天
4
0
Akka系统《sixteen》译

Actor是一个封装状态(state)和行为(behavior)的对象,它们只通过交换消息通信(放入收件人邮箱的邮件)。从某种意义上说,Actor是最严格的面向对象编程形式,但它更适合将他们视为人:在与Act...

woshixin
昨天
1
0
技术工坊|如何开发一款以太坊钱包(深圳)

【好消息!】HiBlock区块链技术工坊已经成功举办了26期,其中北京1期,西安1期,成都2期,上海22期。经常有社区的小伙伴问定期举办技术工坊的除了上海以外,其他城市有没有?现在区块链技术工...

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部