为了账号安全,请及时绑定邮箱和手机立即绑定

以下C语言语句在java中怎么实现等同功能

以下C语言语句在java中怎么实现等同功能

JustV 2016-09-08 09:55:52
int *a; a = &b;C和java都是初学者水平的在下,目前正在做将一个C程序移植到java的工作,很多指针功能不知道如何在java中实现,希望有大神能帮忙解答!最好解释一下原理!小弟万分感谢!
查看完整描述

1 回答

已采纳
?
阿旭_

TA贡献217条经验 获得超353个赞

在java中没有指针的概念,倒是有个引用的类似概念,

相同点是都是保存地址,不同点是C中的地址可能通过int型来保存,java中的地址必须是Object类型。

换话句说,java中保存地址的只能是Object类型,而C中int型即可以保存地址(指针)又可以保存一个数值。

简单讲要实现这样一个功能,java写起来会比较复杂,但是如果熟练起来会觉得比C好理解不容易出错。

以你问的为例。代码如下。

public class Test23 {
	public int c = 5;

	public static void main(String[] args) {
		Test23 b = new Test23();
		Test23 a = null;// 如果写成int,就只能保存值,而不能保存地址了。
		a = b;// 地址只能保存其它地址
		/* 这里用c的输出格式给你演示,方便你理解,但通常java是不用这种输出格式的,而是System.out.println(a.c);即可 */
		System.out.printf("%d", a.c);
	}
}

//img1.sycdn.imooc.com//57d0ca58000194d902220119.jpg

查看完整回答
1 反对 回复 2016-09-08
  • 1 回答
  • 0 关注
  • 1340 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信