1.最有效率的方法算出2乘以8等於几?
2<<3; 表示 2向左移 3位:2 * 2^3(2的3次方) = 2 * 8;
一个数左移 n位,就相当于 2的 n次方,那么一个数乘以 8只要将其左移 3位即可
发散:
a << b的值实际上就是a乘以2的b次方
2 的二进制 10
左移三位:10 000=16=1*2的4次方
2.map,set,list 继承collection 接口吗?
1.List,Set,Map是否继承自Collection接口?
List,Set是,Map不是。
如图:
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection 和 Map 的区别: 容器内每个位置所存储的元素个数不同。Collection类型,每个位置只有一个元素。 Map类型,持有 key-value pair,像个小型数据库。
---------------------
3.数组有没有length()方法?String有没有length()方法?
String是有length()这个方法的,用来计算字符串的长度。
数组是没有length()这个方法的,有length这个属性,可以计算数组的长度
4.抽象方法是否可以是静态的,是否可以是native,是否可以是synchronized:
答案:
1.抽象方法不能是静态的,因为抽象方法要被子类实现,而静态方法属于一个类,不能同时属于两个类。
2.native方法表示该方法要用另外一种依赖平台的语言实现,不存在着被子类实现的问题,所以不能是抽象的,即abstract与native不能共存。
3.synchronized方法的锁对象为this,而抽象方法无法确定this是什么,所以不能共存。
5.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
答:接口可以继承接口,
interface MyInterface {
}
interface AnotherInterface extends MyInterface {
}
class EntityClass {
}
abstract class AbstractClass extends EntityClass implements MyInterface {
}