Think in Java学习总结(一)之对象
来源:互联网 发布:cos官网旗舰店淘宝 编辑:程序博客网 时间:2024/05/01 10:50
一切皆对象
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,除非是比较他本身;
- Think in Java学习总结(一)之对象
- Think in java 学习手记(一)
- 菜鸟学习think in java (一)
- think in java 学习总结
- 【Think in Java】学习笔记_Class对象
- Think In Java之面向对象(4-8章)
- think in java 学习笔记(一)方法重载
- think in java学习篇(一)
- Think in Java学习 菜鸟一枚
- think in java 总结
- Think in Java 学习
- Think in JAVA 笔记(一)
- Think in Java笔记(一)
- Think in java 一切都是对象
- think in java-对象导论
- Think in java 学习手记(二)
- Think in java 学习手记(三)
- 菜鸟学习 Think in java (二)
- nyoj2
- IOT浅谈之nRF52
- jquery选择器得到的对象无法再分割
- STC51单片机 用软件仿真学习51单片机不好
- Java 九九乘法表
- Think in Java学习总结(一)之对象
- 51系列中data,idata,xdata,pdata的区别
- Swift MD5加密
- python学习——获取对象信息
- Git命令简明清晰版
- 报java.lang.NullPointerException原因
- 深入理解asp.net里的HttpModule机制
- 关于SQL Server/oracle将一列的多行内容拼接成一行的问题讨论
- 源码分析slf4j和logback的关系