知识点整理,Part 1.

  • java中==和equals和hashCode的区别
“==” 就比值。如果两个变量是基本数据类型,可以直接使用“==”运算符来比较其对应的值是否相等。
        equals是Object类提供的方法之一。可以自己实现来使用,在需要排序的时候有奇效。
        hashCode()方法是从Object类中继承过来的,它也用来鉴定两个对象是否相等。Object类中的hashCode()方法返回对象在内存中地址转换成的一个int值,所以如果没有重写hashCode()方法,任何对象的hashCode()方法都是不相等的。
  • int、char、long各占多少字节数
Java基本类型占用的字节数:
1字节: byte , boolean
2字节: short , char
4字节: int , float
8字节: long , double
注:1字节(byte)=8位(bits)
1.编码与中文:
Unicode/GBK: 中文2字节
UTF-8: 中文通常3字节,在拓展B区之后的是4字节
综上,中文字符在编码中占用的字节数一般是2-4个字节。
2.char在Java中的字节数:
char在Java中占用2字节。
Java编译器默认使用Unicode编码,因此2字节可以表示所有字符。

  • int与integer的区别
基础类型 vs  包装类型
1、Integer是int的包装类,int则是java的一种基本数据类型 
2、Integer变量必须实例化后才能使用,而int变量不需要 
3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 
4、Integer的默认值是null,int的默认值是0
  •    java多态(略,没意思。天天用。)
  • String、StringBuffer、StringBuilder区别
  • String 字符串常量
    StringBuffer 字符串变量(线程安全)
    StringBuilder 字符串变量(非线程安全)

           **平时String的变化不频繁随便用,量大的时候(比如拼装HTML)还是用Buffer。

  • 什么是内部类?内部类的作用
  XXX.innerClass.class 常见的是RV的Adapter的ViewHolder,藏起来自己用的意思。
    有些东西其他地方用不到,但是必须是个单独的Obj,就得用内部类。
  • 抽象类和接口区别
抽象类可以实现方法。接口只能留空。

**在项目构建的过程中,共用代码和私有代码的区分一定要清晰,某些可以抽象出来的方法、逻辑,整理成一套然后抽象出来,对于后面的工作会有很大的帮助,而且能够降低维护成本。简单例子:Android中的MainActivity,几乎所有项目都会抽象一个BaseActivity来存放所有的页面公有的东西。

**接口就是另一回事了,很多时候用接口纯粹是为了方便,以及回传调用。而层层的Callback这样的结构还是需要避免比较好。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值