文档章节

方法调用中的别名问题

ShualLiu
 ShualLiu
发布于 2016/11/23 21:39
字数 174
阅读 38
收藏 0
class Letter {
	char c;
}

public class PassObject {
	static void f(Letter y) {
		y.c = 'z';
		System.out.println(y.c);
	}
	
	public static void main(String[] args) {
		Letter x = new Letter();
		x.c = 'a';
		System.out.println(x.c);
		f(x);
		System.out.println(x.c);
	}
}

在调用f()的时候,传递的是Letter对象的引用,而不是Letter对象的副本,因此在f()操作之后,改变的是函数外的字段的值.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void f(char y)
{
  y = 'z';
}

void ff(char *y)
{
  *y = 'z';
}

int main(void)
{
  char x = 'x';
  printf("x is: %c(before pseudo change)\n", x);
  f(x);
  printf("x is: %c(after pseudo change)\n", x);
  ff(&x);
  printf("x is: %c(after veritable change)\n", x);

  return 0;
}

在C语言中,如果进行参数传递,则默认传递的是副本.

© 著作权归作者所有

共有 人打赏支持
ShualLiu
粉丝 2
博文 32
码字总数 13848
作品 0
成都
程序员
私信 提问
Jpush设置Alias和Tags问题

开发用到Jpush推送,分别设置Alias和Tags,调用setAlias和setTags方法;调用顺序是setAlias,然后setTags。但是问题来了,根据别名的推送却怎么也收不到。查看log日志,显示alias=null。无奈...

渊泉如渊
2015/07/08
0
0
关于安卓应用图标的几个问题

一、 ic_launcher.png --> drawable vs mipmap 元旦要到了,如果要在当天发版,想必各位工程师最近应该都提交了代码,之后元旦也少不了加班。 今天我也提交了代码,没过多久 QA 就跑过来,对...

Arnold_J
2018/01/03
0
0
Spring源码解析 - AbstractBeanFactory 实现接口与父类分析

我们先来看类图吧: 除了BeanFactory这一支的接口,AbstractBeanFactory主要实现了AliasRegistry和SingletonBeanRegistry接口. 这边主要提供了这样的三个功能: 别名管理,单例创建与注册,工厂方...

-wangming-
2016/03/12
87
0
【quickhybrid】组件(自定义)API的实现

前言 前文在API规划时就已经有提到过组件API这个概念,本文将会介绍它的原理以及实现 理解组件API这个概念 在quick hybrid中,API是按模块划分的,如,等都是不同模块,而模块的另一个名称则...

2017/12/27
0
0
Spring中bean的生命周期

Spring 中bean 的生命周期短暂吗? 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean 的别名只能维持一个实例,而不是每次都产生一个新的对象使...

ArlenXu
2015/01/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MySQL学习笔记之二

数据库的操作总结就是:增删改查(CURD),今天记录一下基础的检索查询工作。 检索MySQL 1.查询表中所有的记录 mysql> select * from apps;+----+------------+-----------------------+------...

凌宇之蓝
22分钟前
0
0
PaddlePaddle-GitHub的正确打开姿势

GitHub是一个面向开源及私有软件项目的托管平台、也是项目版本管理工具,会使用它是程序员入门的必备技能。PaddlePaddle也不例外,所有的源码及项目进展都在GitHub上开源公布。但对于刚入门写...

深度学习之路
22分钟前
0
0
最强NLP模型BERT可视化学习

摘要: 最强NLP模型谷歌BERT狂破11项纪录,全面超越人类,本文通过可视化带你直观了解它。 2018年是自然语言处理(Natural Language Processing, NLP)领域的转折点,一系列深度学习模型在智...

阿里云官方博客
29分钟前
1
0
导出功能

public void downloadD(HttpServletRequest request, HttpServletResponse res,String contractName, String contractPath) throws IOException {// FileAttach fileAttach = fileA......

卖星星的小矮人
33分钟前
0
0
gradle 打包可执行jar包

group 'android.com'version '1.0-SNAPSHOT'apply plugin: 'java'sourceCompatibility = 1.8repositories { mavenCentral()}jar { manifest { attributes ('Main-......

zdglf
44分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部