您的位置:首页 > 移动开发 > Objective-C

JAVA基础知识回顾(基本数据类型,switch参数,equals与==的区别,Object有哪些公用方法)-1

2015-11-17 14:09 1281 查看

JAVA知识深度回顾总结-第一天

八种基本数据类型的大小,以及他们的封装类

分类 - 类型—————范围——————封装类

整型

byte ———- [-128~127] ———— Byte

short ——– [-2^15~2^15 - 1] —— Short

int ———– [-2^31~2^31 - 1] —— Integer

long ——— [-2^63~2^63 - 1] —— Long

浮点型

float ——— [-2^31~2^31 - 1] —— Float

double —— [-2^63~2^63 - 1] —— Double

字符型

char —— [0 ~ Unicode 2^16-1] —–Character

布尔型

boolean ——– [true、false] ———- Boolean

switch能否用String类型或long类型做参数

switch能填入int和enum(枚举类型)

byte、short能隐式转换成int所以这两个可以

long只能强转后填入

java1.7新增了String类型,所以java1.7以下的版本无法用String类型作为参数

equals与==的区别

先要了解值类型是存储在内存中的栈,而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身数据存储在堆中

==比较的是两个变量的值是否相同,栈中的内容是否相同

equals比较两个变量是否是对同一个对象的引用,既是否指向同一个堆

因此总结:==比较的是两个对象的地址,而equals比较的是两个对象的内容

Object有哪些公用方法?

clone() 方法:保护方法,实现对象的浅复制(浅复制和深复制理解),只有实现了Cloneable接口才可以调用该方法

getClass()方法:返回一个对象的运行实例

toString()方法:返回改对象的字符串表示

finalize()方法:当垃圾回收器确定不存在该对象的更多引用时,由对象的垃圾回收器调用此方法

notify()方法:唤醒在此对象监视器上等待的单个线程

notifyAll()方法:唤醒在此对象监视器上等待的所有线程

wait()方法:使当前线程等待其他线程调用此对象的notify()或notifyAll(),当前线程必须是该对象的拥有者,也就是具有该对象的notify()或notifyAll()。wait()方法一直等待,直到被调用notify()或notifyAll()或者被中断

wait(long timeout):设定一个超时间隔,如果在规定时间内没有获得锁就返回

wait(long timeout, int nanos):其他线程调用了interrupt(interrupt方法的使用)中断该线程当前线程

equals(Object obj)方法:重写该方法作为对象之间是否相等的比较

int hashCode()方法:该方法返回改对象的哈希码值,重写equals一般都要重写hashCode()方法,该方法在一些具有哈希功能的Collection中用到

我的感受

重点还是要搞清除一下object的方法,听说面试常常问<( ̄︶ ̄)>

object中的wait方法三个两个参数那个不大懂

在switch中直接把long强转成int就ok了,在case中不能居然不能int和String类型都有,也是,在怎么说传进来的只有一个类型嘛。(~ ̄▽ ̄)~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: