文档章节

Think in Java学习总结(一)之对象

YH_猿员猿
 YH_猿员猿
发布于 2016/07/21 17:31
字数 507
阅读 7
收藏 0

一切皆对象

1. 主成员的默认值

若某个主数据类型属于一个类成员,那么即使不明确(显式)进行初始化,也可以保证它们获得一个默认
值。
主类型 默认值
Boolean false
Char ‘\u0000’(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d

然而,这种保证却并不适用于“局部”变量——那些变量并非一个类的字段。所以,假若在一个函数定义中,则需要对其赋初始值。
因此,并不是在任何情况下变量都会得到默认值的;这应该是基于对象用new关键字创建的时候,其字段都赋予初始值并分配了相应的内存空间,而方法并没有完全被创建出来,那么方法中的局部变量就无法得到其初始值;

2.Java中 == 和equals()的区别

== 作用于基本数据类型的时候是完全正确的,符合逻辑的,完全可以达到我们期望的结果,但对于非基本类型的数据,即对象时, ==比较的是两个对象所持有的句柄,即地址
equals 是为了面向对象的设计而产生的,此方法源于Object类中,因此,所有的类对象都可以使用此方法;但是此方法在Object中的实现也只是比较两个对象的地址的,如果我们想要在自己的定义的类中保证两个对象比较的值相等,就需要重写此方法,根据我们自己判断两个对象相等的方法来添加代码,实现我们所希望的功能;

比如String 和 StringBuffer的equals方法的区别:
Stirng 方法中的equals作了实现,而StringBuffer中的equals方法并未进行重写,因此当我们利用StringBuffer中的equals方法进行比较时,得到的永远都是false,除非是比较他本身;

本文转载自:http://blog.csdn.net/yin569258/article/details/51894577

共有 人打赏支持
YH_猿员猿
粉丝 0
博文 12
码字总数 0
作品 0
徐汇
程序员
私信 提问
【Java学习路线】新手该如何一步步的学习 Java

新手该如何一步步的学习 Java? 如果真的想学Java,最好要循序渐进,有章有法的学习它! 今天小慕就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容。 首先,给大家分享一张以 企业...

Eddie_yang
11/15
131
0
JVM内存结构 VS Java内存模型 VS Java对象模型

Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模型和...

Java架构
07/11
0
0
Java到底是不是一种纯面向对象语言?

Java——是否确实的 “纯面向对象”?让我们深入到Java的世界,试图来证实它。 在我刚开始学习 Java 的前面几年,我从书本里知道了 Java 是遵循 “面向对象编程范式(Object Oriented Progr...

Java工程师-10
2017/05/25
554
5
学习hibernate感受(-)

做为一个初学Hibernate的过来人,想对将要学习Hibrnate的高手手们谈一下自己的感受! 首先我们要弄清楚,我们为什么要学习Hibernate?Hibernate是什么东东? 在这里我们要明确,我们是java程...

WYDPH
2012/10/01
0
1
健康,home? [java的内存浅析]

健康,home? [java的内存浅析] 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 乐观上上,how can other kno u,u r yourself!I must be s...

泥沙砖瓦浆木匠
2014/08/21
0
5

没有更多内容

加载失败,请刷新页面

加载更多

设计模式之工厂模式

本篇博文主要翻译这篇文章: https://www.journaldev.com/1392/factory-design-pattern-in-java 由于翻译水平有限,自认为许多地方翻译不恰当,欢迎各位给出宝贵的建议,建议大家去阅读原文。...

firepation
26分钟前
3
0

中国龙-扬科
29分钟前
2
0
简单谈谈vue的过渡动画

在vue中,实现过渡动画一般是下面这样: `<``transition` `name``=``"fade"``>``<``div``></``div``>``</``transition``>` 用一个transition对元素或者组件进行封装. 在过渡的时候,会......

嫣然丫丫丫
35分钟前
2
0
文件及目录处理

file_get_contents file_put_contens fopen r/r+ 只读打开,指针开头 w/w+ 写入打开,指针开头,清空文件,不存创建 a/a+ 追加打开,指针末尾,不存创建 x/x+ 创建模式打开 b 二进制打开 t 文本打开...

关元
37分钟前
2
0
如何在Angular中使用better-scroll插件

由于需要在一个固定的的高度做无限滚动,本来css的overflow-y也可以完成的,奈何安卓不是很流畅,还很生硬,就是用了第三方库better-scroll,配合angular的ng-content。angular的ng-content和...

前端攻城老湿
43分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部