Android 面试题总结 Java基础篇

#1.public,private,protected,以及不写时的区别?java

##public缓存

为公共成员变量和函数成员,在整个类内类外均可使用,在子类变为public数据结构

##private框架

为私有成员变量和函数成员,只在声明的类内可使用,子类不可用函数

##protected工具

为受保护成员变量和函数成员,类外不可以使用。类内可使用,子类变为private线程

##不使用关键字翻译

默认为类内使用。code

#2.int与Integer的区别对象

Ingeter是int的包装类,int是基本数据类型初值为0,Ingeter是一个类初值为null。
##结论

①不管如何,Integer与new Integer不会相等。不会经历拆箱过程,一个引用指向堆,另外一个指向专门存放他的内存(常量池),他们的内存地址不同,因此为false
②两个都是非new出来的Integer,若是数在-128到127之间,则是true,不然为false java在编译Integer i2 = 128的时候,被翻译成-> Integer i2 = Integer.valueOf(128);而valueOf()函数会对-128到127之间的数进行缓存
③两个都是new出来的,都为false
④int和integer(不管new否)比,都为true,由于会把Integer自动拆箱为int再去比

##例子

由于常量池的范围在-128到127 因此他们都是新的对象 比较的话 是比较地址值 因此为false

Integer i5 = 128;
Integer i6 = 128;
System.out.println(i5 == i6);//false

一个存在常量池 一个是指引常量池的地址值 对比因此为false

Integer i5 = 127;
Integer ii5 = new Integer(127);
System.out.println(i5 == ii5); //false

new了2个不一样的对象 确定不想等 地制止不一致

Integer i7 = new Integer(128);
Integer i8 = new Integer(123);
System.out.println(i7 == i8);  //false

#3.Collection和Collections的区别

##Collection

java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操做的通用接口方法。Collection接口在Java 类库中有不少具体的实现。Collection接口的意义是为各类具体的集合提供了最大化的统一操做方式。 Collection

##Collections

java.util.Collections 是一个包装类。它包含有各类有关集合操做的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。

#4.HashMap和HashTable的区别

##HashMap

底层数据结构是哈希表;容许使用null键和null值,不一样步,效率高 ,遍历时,取得数据的顺序是彻底随机的。HashMap最多只容许一条记录的键为Null;容许多条记录的值为 Null;

##HashTable

它继承自Dictionary类 ,不容许键或者值为空,同步,效率低

#5.sleep和wait的区别

1.sleep指线程被调用时,占着CPU不工做,而wait被调用时,等待CPU使用 2.sleep方法没有释放锁,而 wait 方法释放了锁,使得其余线程可使用同步控制块或者方法。 3.wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep能够在任何地方使用 4.sleep必须捕获异常,而wait,notify和notifyAll不须要捕获异常 5.sleep是Thread静态方法,wait是Object的成员方法

相关文章
相关标签/搜索