- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Java重难点
Java重难点 1
1、按照Java的重点介绍==是比较两个对象是否相等 1
2.java中的this随处可见,用法也多,现在整理有几点: 2
3、在JAVA中有两种多态是指:运行时多态和编译时多态 4
4、Java中super的几种用法并与this的区别(转载) 5
5.Static 9
7.Clone() 14
8、StringBuffer和String 16
String
str1=Hellow World;
String
str2=Hellow World;
String
str3=new String(Hellow
World);
String
str4=new String(Hellow
World);
1、按照Java的重点介绍==是比较两个对象是否相等
1、按照Java的重点介绍==是比较两个对象是否相等
,且Java
中对String的赋值都是产生一个新的对象,原有的字符串变成了垃圾内存。但我用下面的类测试了一下,却得到了两种截然不同的结果,不知何解?
class
{
public
{
StringTest
static void
main(String
args[])
if
{
(str1==str2)
System.out.println(str1==str2);
}
elseSystem.out.println(str1!=str2);if (str3==str4)
{
System.out.println(str3==str4);
}
elseSystem.out.println(str3!=str4);
}
}
输出结果为str1==str2str3!=str4
按照Java的解释,得到的结果应该都是不等于啊?
回答:在计算机中存储数据内存中有堆与栈,堆中存放的都是对象和值等,而栈中存放的是对于对象函数,变量的引用。上面的
str1=hello word;
str2=hello word
str3 = new
str4 = new
String(hell
String(hellword和str3
word)
word)
不管str=hell
=
new
String(hello
word)都是放在堆中的,上面的定义来
看是实例化了4个对象,其实只是实例化的3个对象,因为在java中有字符数据池,对于str2在赋值之前
会检查内存中会有没有相同的数据,如果有则直接引用而对于str3,str3则不会检查直接实例化,所以会出现以上结果。
而
String
str3=new
String(Hellow
World);
String
str4=new
String(Hellow
World);
主要一个是还一个是内存内存对象对象基本类型的数据被加载到了内存池中
主要一个是
还一个是
内存
内存
对象
对象
基本类型的数据被加载到了内存池中
那么
String
str1=
Hellow
World
;
String
str2=Hellow
World;
这两个,str1和str2两个对象都指向内存池中的Hellow
也就是说,其实这两句只构造了两个对象
World这个对象
他们分别构造了str3,str4,还有两个Hellow
World对象。是因为它们都用了new关键字来构造对
象,而用new构造的对象之前是没有被加入内存池中的,所以要另外加载过来,然后,把str3和str4分别
指向所对应的Hellow World对象。
现在我们来看,str1和str2指向的都是内存池中原来的Hellow
World对象
而str3指向的是后来加入的一个Hellow World对象,str4指向的又是另外一个后来加入的Hellow
World对象
********************************************************************************************
this是指当前对象自己。
当在一个类中要明确指出使用对象自己的的变量或函数时就应该加上this引用。如下面这个例子中:
publicclassHello{Strings=Hello;
publicHello(Strings){System.out.println(s=+s);
System.out.println(1-this.s=+this.s);this.s=s;
System.out.println(2-this.s=+this.s);
}
publicstaticvoidmain(String[]ar
您可能关注的文档
最近下载
- 2025徽商银行合肥分行社会招聘笔试参考题库附答案解析.docx VIP
- 人教部编版三年级下册语文期末测试题(含答案).docx VIP
- 金属增材制造安全规程 .pdf VIP
- 2069-3-3101-002 WKB产品判定准则-外发.docx VIP
- 建筑节能工程专项施工方案.doc VIP
- 《生物质燃料气化燃烧清洁供暖技术规范》(TCRES 0025-2025).pdf VIP
- 2025全国小学生“学宪法、讲宪法”活动知识竞赛题库及答案.docx VIP
- 武汉沿途讲解.pdf VIP
- 2014款一汽大众宝来_汽车使用手册用户操作图解驾驶车主车辆说明书电子版.pdf
- 面向制造企业的增材制造应用.pdf VIP
文档评论(0)