指出下列程序运行的结果()
题目
指出下列程序运行的结果()
public class Example{String str = new String("good");char[ ] ch = { 'a' , 'b' , 'c' };public static void main(String args[]){Example ex = new Example();ex.change(ex.str,ex.ch);System.out.print(ex.str + " and ");System.out.print(ex.ch);}public void change(String str,char ch[ ]){str = "test ok";ch[0] = 'g';}
}
A. good and abc
B. good and gbc
C. test ok and abc
D. test ok and gbc
答案
B
解析
题目中的形参str只是原引用ex.str的一个引用副本,传的是一个副本地址值,这个值与ex.str地址值是不一样的,但是它们同时指向了堆中的对象new String("good")
,当你在函数中改变形参也就是地址的副本值也就是这句str=“test ok"只是将副本地址指向常量"test ok”,并没有改变原ex.str的指向方向,它还是指向对象new String(“good”)的
char数组与String一样传的也是地址的副本,但是关键是形参ch它没有新的指向 ch[0]只是ch在指向原对象时改变了对象的内部结构, 所以在ex.ch指向与它是同一个对象的情况下当然也会随之变化
指出下列程序运行的结果()相关推荐
- Delphi-TScreen表示应用程序运行时屏幕的状态
TScreen表示应用程序运行时屏幕的状态. 类关系 TObject->TPersistent->TComponent TScreen引进具有表示下列各种情况的属性 什么窗体和数据模块已经 ...
- java程序运行结果题_2016年关于Java编程与程序运行结果笔试题
2016年关于Java编程与程序运行结果笔试题 1.Java编程,打印昨天的当前时刻 public class YesterdayCurrent{ public void main(String[] ...
- iPhone程序运行流程浅谈
1. 和大多数语言一样,每一个iPhone应用也都是从主函数开始运行,它的main函数都在XCode的Other Reasource逻辑目录下. [cpp] view plaincopyprint? ...
- python解析器原理_Python程序运行原理图文解析
本文研究的主要是Python程序运行原理,具体介绍如下. 编译型语言(C语言为例) 动态型语言 一个程序是如何运行起来的?比如下面的代码 #othermodule.py def add(a, b): ...
- python程序运行按什么键_太惨!学Python方法用错,直接从入门到放弃!
原标题:太惨!学Python方法用错,直接从入门到放弃! 从你开始学习编程的那一刻起,就注定了以后所要走的路-从编程学习者开始,依次经历实习生.程序员.软件工程师.架构师.CTO等职位的磨砺:当你站在 ...
- java游戏开发--连连看-让程序运行更稳定、更高效
之六)优化:让程序运行更稳定.更高效 改善游戏的合理性 到目前为止,我们的游戏基本上算是完成了,为了使程序更合理,我们还需要将整个程序从头再理一遍,看看有没有改进的地方. 首先,在变量的使用上,由于很 ...
- Linux系统程序运行时加载动态库路径顺序
程序运行时加载动态库路径顺序(Linux) 在linux系统中,如果程序需要加载动态库,它会按照一定的顺序(优先级)去查找: 链接时路径(Link-time path)和运行时路径(Run-time ...
- 从hello world 说程序运行机制
http://www.cnblogs.com/yanlingyin/archive/2012/03/05/2379199.html 开篇 学习任何一门编程语言,都会从hello world 开始.对于 ...
- 查询在应用程序运行得很慢, 但在SSMS运行得很快的原因探究
原文:查询在应用程序运行得很慢, 但在SSMS运行得很快的原因探究 查询在应用程序运行得很慢, 但在SSMS运行得很快的原因探究 -理解性能疑点 1 引言 内容来自http://www.so ...
最新文章
- php动态网页简书,LAMP架构部署和动态网站环境的配置
- python怎么将输入的数字变成列表_Python键盘输入转换为列表的实例
- Python中for循环搭配else的陷阱
- Git之深入解析如何使用Git的分布式工作流程与如何管理多人开发贡献的项目
- 关于静态库与动态库【Linux 】【C】
- Python实现——二元线性回归(最小二乘法)
- 网络爬虫中Jsoup请求url
- Python --之练习题
- Sql中的offset 用法
- linux mips架构PHYS_OFFSET、CAC_BASE、HIGHMEM_START、PAGE_OFFSET、virt_to_phys、phys_to_virt、page_to_phys的定义
- python计算时间差的方法_如何计算时间差,用Python算法的话
- MATLAB 中的调用C语音DLL 库
- layui 卡片式列表_UITableViewCell系列之(三)卡片式列表
- SEO优化:自建站图片优化攻略
- Zookeeper学习提纲:助你一臂之力
- linux Linux入门
- 西北乱跑娃 -- fastapi设置静态文件以及跨域访问
- NSoup Select 示例
- 最新游戏评测门户资讯交流论坛网站源码+Dz内核
- SpringBoot工作日记(4)API文档框架 —— Swagger
热门文章
- c语言剧透,破镜重圆 ·《C语言修仙》by 十四洲
- php实现易班登录,简单的易班申请授权以及使用方式
- Python机器学习-搭建神经网络以及数据集引入和断点续存
- 高等数学笔记-乐经良老师-第五章-积分(Ⅱ)-定积分的应用-第六节-定积分的应用
- 《月下独酌》赏析-(李白明月姑娘之一)
- 怎样根据电阻上的色环,判断电阻的大小
- 微信小程序笔记(包含node.js简介)
- 手机:运行内存,机身内存,内存卡的区分
- 利用AVISPA证明D2D协议
- Win10 中文输入法关闭 Ctrl+Shift+B 快捷键