| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 565 人关注过本帖
标题:[求助]关于在JAVA中的对象的应用问题
只看楼主 加入收藏
jishuai
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-12-15
收藏
 问题点数:0 回复次数:4 
[求助]关于在JAVA中的对象的应用问题
import com.brceeckel.simpletest.*;

public class Equivalence {
static Test monitor=new Test();
public static void main(String[] args){
Integer n1=new Integer(47);
Integer n2=new Integer(47);
System.out.println(n1==n2);
System.out.println(n1!=n2);
monitor.expect(new String[]{
"false",
"true"});
}
}
这个程序的意思是它比较的是对象的应用.输出的结果是那样的.不能理解它是什么意思.
还有什么是对象的应用.这个概念我哈不怎么清楚.希望大家指导啊!
谢谢!
搜索更多相关主题的帖子: JAVA 对象 应用 
2007-03-20 10:53
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
System.out.println(n1==n2);
其中你比较n1==n2
是问N1,N2所指的内存地址是否相同
因为N1与N2指向不同的内存单元(都是NEW出来的)
所以是FALSE

所谓对象的引用就是这个栈内变量(这里是n1,n2)
指向堆内一个内存地址
而N1 ,N2不用象C++里指针那么用
直接把它们当作那些堆对象的引用

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2007-03-20 11:00
117ai
Rank: 1
等 级:新手上路
帖 子:200
专家分:0
注 册:2006-12-9
收藏
得分:0 
   不知你有没看过“(翁恺)JAVA语言”那个视频讲解,我觉得那里对java需要注意的地方说得很清楚,虽然对基础很少讲解!

人真的很奇怪,以前看书时老喜欢看表,希望时间快点过;现在看书总是不敢看表,但时间却很快过!
2007-03-20 11:16
yuyunliuhen
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1435
专家分:0
注 册:2005-12-12
收藏
得分:0 

比较的是两个INTEGER 对象 n1,n2.他们内容相同,对象的引用是不同的.
在JAVA中,通过NEW关键字创建的对象分配在叫做堆的系统内存区中,JAVA中所有的对象都是通过对象引用进行访问的,那些看起来实际对象的变量,实际只是该对象的引用.

所以当你比较n1.n2的时候当然会返回一个布尔只值了

[此贴子已经被作者于2007-3-20 11:28:42编辑过]


Go confidently in the  directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!
2007-03-20 11:24
jishuai
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-12-15
收藏
得分:0 

明白了啊是那样的啊
谢谢各位了啊!

2007-03-20 11:39
快速回复:[求助]关于在JAVA中的对象的应用问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016391 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved