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

来源:互联网 发布:php rsa加密解密 编辑:程序博客网 时间:2024/05/17 22:12

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有哪些公用方法?

  1. clone() 方法:保护方法,实现对象的浅复制(浅复制和深复制理解),只有实现了Cloneable接口才可以调用该方法
  2. getClass()方法:返回一个对象的运行实例
  3. toString()方法:返回改对象的字符串表示
  4. finalize()方法:当垃圾回收器确定不存在该对象的更多引用时,由对象的垃圾回收器调用此方法
  5. notify()方法:唤醒在此对象监视器上等待的单个线程
  6. notifyAll()方法:唤醒在此对象监视器上等待的所有线程
  7. wait()方法:使当前线程等待其他线程调用此对象的notify()或notifyAll(),当前线程必须是该对象的拥有者,也就是具有该对象的notify()或notifyAll()。wait()方法一直等待,直到被调用notify()或notifyAll()或者被中断
    • wait(long timeout):设定一个超时间隔,如果在规定时间内没有获得锁就返回
    • wait(long timeout, int nanos):其他线程调用了interrupt(interrupt方法的使用)中断该线程当前线程
  8. equals(Object obj)方法:重写该方法作为对象之间是否相等的比较
  9. int hashCode()方法:该方法返回改对象的哈希码值,重写equals一般都要重写hashCode()方法,该方法在一些具有哈希功能的Collection中用到

我的感受

  • 重点还是要搞清除一下object的方法,听说面试常常问<( ̄︶ ̄)>
  • object中的wait方法三个两个参数那个不大懂
  • 在switch中直接把long强转成int就ok了,在case中不能居然不能int和String类型都有,也是,在怎么说传进来的只有一个类型嘛。(~ ̄▽ ̄)~
0 0
原创粉丝点击